2009-10-02 Marek Habersack * DynamicValidator.cs: initial implementation * DynamicDataManager.cs: implemented OnLoad. Better implementation of RegisterControl * DynamicDataExtensions.cs: implemented FindDataSourceControl. 2009-09-18 Marek Habersack * MetaTable.cs: implemented Init - calls Init on all the columns present in this instance. * MetaModel.cs: constructor initializes FieldTemplateFactory after it is instantiated. RegisterContextCore first registers the context type, then creates tables and finally calls Init on all the tables. * MetaColumn.cs: added internal Init method - called by MetaModel after context is registered and all tables are created and registered. * MetaChildrenColumn.cs: implemented ChildTable, ColumnInOtherTable, GetChildrenListPath, GetChildrenPath and added an internal Init method override. MonoTODO attributes stay until I write tests for the class. * FieldTemplateUserControl.cs: implemented ChildrenColumn, ChildrenPath, Column, ForeignKeyColumn, ForeignKeyPath, MetadataAttributes, Mode, Row, Table, SetHost * FieldTemplateFactory.cs: GetFieldTemplateVirtualPath fixes * DynamicControl.cs: implemented ApplyFormatInEditMode, ConvertEmptyStringToNull, DataField, DataFormatString, HtmlEncode, FormattingOptions, NullDisplayText, UIHint, OnInit, Render. 2009-09-15 Marek Habersack * MetaColumn.cs: DataTypeAttribtue created automatically for string columns, must be of type MultilineText for long strings. * FieldTemplateFactory.cs: implemented BuildVirtualPath, CreateFieldTemplate, GetFieldTemplateVirtualPath, PreprocessMode and fixed implementation of TemplateFolderVirtualPath. 2009-09-10 Marek Habersack * DynamicControl.cs: implemented several properties. Added code for ResolveColumn method, called from OnInit 2009-07-14 Marek Habersack * FieldTemplateFactory.cs: implemented TemplateFolderVirtualPath 2009-06-27 Marek Habersack * DynamicDataExtensions.cs: implemented ConvertEditedValue * MetaModel.cs: implemented DynamicDataFolderVirtualPath * DynamicDataRouteHandler.cs: implemented SetRequestMetaTable, GetCustomPageVirtualPath, GetScaffoldPageVirtualPath and guessed at implementation of CreateHandler. 2009-06-26 Marek Habersack * MetaModel.cs: RegisterContextCore preserves already registered tables. * DynamicDataRouteHandler.cs: GetRequestContext must not retrieve route data from the routes collection (if the matching route happened to be an instance of DynamicDataRoute it would initialize its RouteHandler's Model property, which is not correct, according to tests). Instead a new RouteData instance is created each time we don't find any cached context. * DynamicDataRoute.cs: the associated route handler is set its Model property when we initialize for the first time. GetRouteData checks whether route data returned by base class relates to a table which exists in the current context. If no such table exists, null is returned. 2009-06-25 Marek Habersack * MetaTable.cs: Fixes to make tests succeed. * MetaModel.cs: added the GetDataFieldAttributes method for retrieving attributes associated with data type/field. Fixes to make tests succeed. * MetaColumn.cs: refactoring - use MetaModel.GetDataFieldAttributes instead of the local version. * DynamicDataRouteHandler.cs: implemented GetRequestContext, GetRequestMetaTable. * DynamicDataRoute.cs: when the Action and Table properties are set before one of GetVirtualPath or GetRouteData methods are called for the first time, a check is made whether the Defaults collection exists and whether it contains entries for Action and Table. Initialization code makes sure those entries are inserted into the dictionary in those cases. 2009-06-23 Marek Habersack * MetaTable.cs: constructor now takes ContextConfiguration instead of a boolean and uses the config to determine value of the ScaffoldAllTables property. Also, if context config is present, makes sure to register the associated type description provider (if any) with TypeDescriptor. * MetaModel.cs: no longer uses local cache for description providers. Uses TypeDescriptor.{Add,Get}Provider now. * MetaColumn.cs: fixed Scaffold to match tests - IsGenerated and IsCustomProperty take precedence over Table.ScaffoldAllTables. GetDataFieldAttribute doesn't use AttributeCollection indexer, as the latter would create a default instance of the requested attribute, which is not what we want here. 2009-06-17 Marek Habersack * MetaTable.cs: fixed Scaffold implementation. Added internal ScaffoldAllTables property. * MetaColumn.cs: fixed TypeCode, MaxLength, Scaffold, UIHint implementations. Implemented IsLongString, IsBinaryData, IsReadOnly, NullDisplayText, RequiredErrorMessage 2009-06-16 Marek Habersack * DynamicDataManager.cs, DynamicDataExtensions.cs: use new DataBoundControl.DataSourceObject instead of InternalGetDataSource. 2009-06-15 Marek Habersack * MetaColumn.cs: implemented ApplyFormatInEditMode, Attributes, ConvertEmptyStringToNull, DataFormatString, DataTypeAttribute, DefaultValue, Description, DisplayName, IsRequired, IsFloatingPoint, IsInteger, IsString, TypeCode * MetaTable.cs: use MetaModel.GetTypeDescriptor to retrieve associated entity type attributes. * MetaModel.cs: implemented registration of type metadata cache. Metadata is provided by a set of TypeDescriptionProvider instances (if ContextConfig is present for given model provider) or by default type description provider (note that this functionality is not implemented in System.ComponentModel.TypeDescriptor yet!). 2009-06-12 Marek Habersack * MetaTable.cs: implemented correct detection of foreign key columns. Implemented IsReadOnly, SortColumn, SortDescending. 2009-06-10 Marek Habersack * MetaTable.cs: fixed DisplayName implementation. Implemented GetPrimaryKeyString, GetQuery. 2009-06-09 Marek Habersack * MetaTable.cs: implemented more overloads of GetActionPath. Implemented GetPrimaryKeyValues, GetActionPathFromRoutes, Attributes, DisplayColumn, GetDisplayString. 2009-06-01 Marek Habersack * MetaModel.cs: GetModel throws InvalidOperationException on missing model. Implemented GetActionPath and GetTable. 2009-04-29 Marek Habersack * MetaTable.cs: implemented the DataContextType, DataContextPropertyName properties and the ToString method. * MetaColumn.cs: implemented the Scaffold, DisplayName, SortExpression, UIHint properties and the ToString method. * DynamicField.cs: implemented * DynamicDataManager.cs: partially implemented RegisterControl. Added internal AutoFieldGenerator class, used by RegisterControl when dealing with GridView. Implemented some properties. * DynamicDataExtensions.cs: implemented GetTable and FindMetaTable * DynamicControl.cs: implemented parts of the class. 2009-04-23 Marek Habersack * ContextConfiguration.cs: implemented all the methods and added a parameterless constructor. 2008-10-21 Atsushi Enomoto * DynamicDataRouteHandler.cs, DynamicDataRoute.cs, MetaTable.cs: ongoing implementation; resolve to page templates. 2008-10-17 Atsushi Enomoto * DynamicDataRouteHandler.cs, DynamicDataRoute.cs, MetaTable.cs, MetaModel.cs : ongoing implementation. 2008-10-16 Atsushi Enomoto * DynamicDataManager.cs, DynamicDataRoute.cs, FieldTemplateFactory.cs, MetaChildrenColumn.cs, MetaColumn.cs, MetaForeignKeyColumn.cs, MetaModel.cs, MetaTable.cs: ongoing implementation. 2008-10-14 Atsushi Enomoto *.cs : initial checkin. stubs.