C# Programming Object Model
The next few sections discuss the overall approach to programming the database interface, business objects and backeend systems. We are considering the following technologies:
SQL CE synchronized to a backend system (See http://www.microsoft.com/sqlserver/2008/en/us/compact.aspx and look for Synchroniz corporate data)
NHibernate (http://nhforge.org/Default.aspx) and possibly Fluent NHibernate (http://fluentnhibernate.org/) for database business objects.
SpecExpress framework for specifying property rules validation
Visual Design
We are using Menus and tabbed panels within tabbed panels. Until we have time, look at the design for more info.
Object to Database Integration Model
FORM CONTAINS:
HashMap<FieldRomanNumeral,FieldData{Field Information, List<SquareData>}>
HashMap<FieldRomanNumeral|SquareDesignation, SquareData{Square Information, List<BaseLocusData>}>
Incidentally the List<SquareData> should match the tabs shown under the squares tab for that Field. Can we map it directly?
Also, the List<BaseLocusData> maps the the list of tabs showing the loci - even though these are not "controls" each BaseLocusData element will contain controls.