Exemple #1
0
        public static EditorItem createByDataRow(DataRow _item)
        {
            var result = new EditorItem(_item);
            var table  = _item.Table;

            result.elements = new List <EditorElementItem>(table.Columns.Count);
            result.rules    = new Dictionary <string, string>();
            var tableName   = _item.Table.TableName;
            var notNullKeys = TableKeys.GetTableKeys(tableName, TableKeys.KeyType.NotNull);
            var primaryKey  = TableKeys.GetPrimaryKey(tableName);

            foreach (DataColumn column in _item.Table.Columns)
            {
                if (column.ColumnName != primaryKey)
                {
                    var editor = new EditorElementItem(tableName, column.ColumnName, column.DataType);
                    result.elements.Add(editor);
                    var rule = getRule(column.ColumnName, column.DataType, notNullKeys.Contains(column.ColumnName));
                    if (!string.IsNullOrEmpty(rule))
                    {
                        result.rules.Add(column.ColumnName, rule);
                    }
                }
            }
            return(result);
        }