Friday, November 09, 2007 4:49 PM
ROADMAP:
85) 2.5 BL Generator to allow construction of a composite object graph
84) 2.5 Generate control adapter + control set generator:
+ Individual item edit (e.g. text boxes)
+ Set edit (e.g. datagrid)
83) 2.0 Generate GDO / GSO managers with Static, Dynamic & Volatile refresh strategies
82) 2.0 Refactor GUI <- Property Panes
81) 2.0 Refactor GUI <- Treeview, MDI, Collapsible panes
73) 1.5 Parameters & Statement Results += button "Copy XML to Save statement"
72) 1.5 Combine Statement & ResultsGrid
71) 1.5 Combine Parameters & ResultsGrid
65) PUB HowTo Video -> YouTube
TODO:
64) ENH nDoc or SandCastle to generate Help files for using the framework
63) ENH Add "GENERATED CODE" comments to the top of each module, summary comments to public members
of generated classes
62) NEW Provide for looping through the resultset collection of multiple-resultset select procedures
61) NEW Add XML output to SQL Execution (see 60, depends on 56, 60)
60) ENH Add "Execute" option to SQL Parameter tab, make Value column editable.
59) ENH Decouple Predicate building from individual properties; keep a dictionary
of predicates associated with the property collection
57) NEW Add project file for saving all generation options; keep updated
to account for new features as they are added (i.e. save all visible
form fields and also save the generated property collection.)
56) NEW Create reflection apparatus to:
a) Pick da_ and entity class files
b) emit instances
c) Iterate over public fields and properties
d) Generate controls to edit parameters & invoke the GetList() method
e) Fill grid with result of GetList();
f) Invoke Save() or Save(instance) method using datasource as input
51) ENH Add bool IsNullable property to Property object
48) NEW Add "status" property to all entity classes : New, Clean, Dirty, Inserted...
update PKs with inserted records' IDs during collection-level Save() operations
47) ENH Add int or entity return option to Save(item) methods to make the newly inserted
item (or its ID) immediately accessible after insert.
43) NEW Support checking multiple compound UNIQUE constraints before insert or update
and/or which are excluded from inserts & updates.
36) NEW Embed GUI syntax-aware SQL editor
IN PROGRESS
49) NEW Infer from INFORMATION_SCHEMA.COLUMNS which table owns a column for insert purposes;
create Property.ForeignKeys[] in addition to PrimaryKey, Add TableName property to property
GUI strategy: (1) select distinct table_name from INFO.COLS where COLUMN_NAME in (select column_names from properties)
(2) Checkbox List to include/exclude optional tables from the list (mandatory inclusion when only one table could own a column)
(3) Per-property Pick-list for owning table name
questions: differentiate between ownership for SELECT vs INSERT vs UPDATE vs OUTPUT?
33) ENH Facilitate multi-column PKs more easily
NEED TESTING
27) BUG GetColumns -> tighten up w/try { GetInt32 } / catch -> { tmpint16 = GetInt16 }, .Position = (Int32)tmpint16
(workaround in place as of 1.9)
DEFERRED
40) NEW Individual pickers for one or more SELECT, INSERT, UPDATE & DELETE procs
29) ENH Option to wrap SaveXML procedure in outer transactional "SaveClass..." --> "InsertOrUpdateClass..."
50) ENH Find a more elegant solution for NULL and Default datetime values
35) ENG GUI option to override default da_ class name
28) NEW Option to use text SELECT statement as seed (in addition to current sproc-only model)
24) NEW StringOverride: Option to use expression instead of just field