コード例 #1
0
        /// <summary>
        /// Load the custom types and decorators grid
        /// </summary>
        /// <param name="table"></param>
        private void LoadCustomGrids(TSqlObject table)
        {
            //Types
            _fieldKeyValueListForCustomTypes = TSqlModelHelper.GetAllColumns(table)
                                               .Select(c => new FieldValue()
            {
                FieldName = c.Name.Parts[2],
                Value     = (_curTableSettings.CsEntitySettings.FieldNameCustomTypes != null &&
                             _curTableSettings.CsEntitySettings.FieldNameCustomTypes.ContainsKey(c.Name.Parts[2]))
                            ? _curTableSettings.CsEntitySettings.FieldNameCustomTypes[c.Name.Parts[2]]
                            : null
            }).ToList();

            //Check if existing config

            grdCustomFieldTypes.ItemsSource = _fieldKeyValueListForCustomTypes;


            //Decorators
            _fieldKeyValueListForCustomDecorators = TSqlModelHelper.GetAllColumns(table)
                                                    .Select(c => new FieldValue()
            {
                FieldName = c.Name.Parts[2],
                Value     = (_curTableSettings.CsEntitySettings.FieldNameCustomDecorators != null &&
                             _curTableSettings.CsEntitySettings.FieldNameCustomDecorators.ContainsKey(c.Name.Parts[2]))
                                        ? _curTableSettings.CsEntitySettings.FieldNameCustomDecorators[c.Name.Parts[2]]
                                        : null
            }).ToList();


            grdCustomFieldDecorators.ItemsSource = _fieldKeyValueListForCustomDecorators;
        }
コード例 #2
0
        public override string Generate()
        {
            if (!TableSettings.GenerateRepositories && !PreviewMode)
            {
                return(string.Empty);
            }

            _repoClassName     = TSqlModelHelper.PascalCase(Table.Name.Parts[1]) + "Repo";
            _repoInterfaceName = "I" + _repoClassName;

            // For entity class, we use a fully qualified name (which avoids us to manage 'using' statements)
            _entityClassFullName = TableSettings.CsEntitySettings.Namespace + "." + TSqlModelHelper.PascalCase(Table.Name.Parts[1]);
            _entityClassName     = TSqlModelHelper.PascalCase(Table.Name.Parts[1]);

            _pkColumns         = Table.GetPrimaryKeyColumns();
            _allColumns        = TSqlModelHelper.GetAllColumns(Table);
            _pkFieldsNames     = ConcatPkFieldNames();
            _pkFieldsWithTypes = ConcatPkFieldsWithTypes();
            _uniqueKeys        = Table.GetUniqueKeysWithColumns();

            return
                ($@"

namespace { _settings.Namespace} {{

    {GenerateInterface()}

    {GenerateClass()}

}}

");
        }