예제 #1
0
        internal static void SetCodeCollection(
            CodeDefinition codeDefinition,
            List <string> codeCollection,
            DataContainer dataContainer)
        {
            var code             = string.Empty;
            var columnCollection = Def.ColumnDefinitionCollection
                                   .Where(o => o.TableName == dataContainer.TableName)
                                   .Where(o => !CheckExclude(codeDefinition, o))
                                   .OrderBy(o => o[Strings.CoalesceEmpty(codeDefinition.Order, "No")])
                                   .ToList();
            var count = columnCollection.Count();

            columnCollection.ForEach(columnDefinition =>
            {
                dataContainer.ColumnName = columnDefinition.ColumnName;
                Creators.SetCodeCollection(
                    ref code,
                    codeCollection,
                    codeDefinition,
                    dataContainer,
                    () => ReplaceCode(
                        ref code,
                        codeDefinition,
                        columnDefinition,
                        count));
                dataContainer.ColumnName = string.Empty;
            });
        }
예제 #2
0
        internal static void SetCodeCollection(
            CodeDefinition codeDefinition,
            List <string> codeCollection,
            DataContainer dataContainer)
        {
            var code = string.Empty;

            Def.ColumnDefinitionCollection
            .Where(o => !Column.CheckExclude(codeDefinition, o))
            .Where(o => o.TableName == dataContainer.TableName)
            .OrderBy(o => o.No)
            .ForEach(columnDefinition =>
            {
                dataContainer.ColumnName = columnDefinition.ColumnName;
                Creators.SetCodeCollection(
                    ref code, codeCollection, codeDefinition, dataContainer, () =>
                {
                    var tableNameAlias = TableNameAlias(columnDefinition);
                    ReplaceCodeOfJoin(
                        ref code,
                        codeDefinition,
                        columnDefinition,
                        tableNameAlias: TableNameAlias(columnDefinition),
                        columnNameAlias: ColumnNameAlias(columnDefinition),
                        joinType: JoinType(columnDefinition),
                        joinExpression: columnDefinition.JoinExpression);
                });
                dataContainer.ColumnName = string.Empty;
            });
        }
예제 #3
0
        internal static void SetCodeCollection(
            CodeDefinition codeDefinition,
            List <string> codeCollection,
            DataContainer dataContainer)
        {
            dataContainer.Type = "Table";
            var code            = string.Empty;
            var parentTableName = dataContainer.TableName;
            var parentModelName = dataContainer.ModelName;

            Def.TableNameCollection(order: codeDefinition.Order)
            .Where(o => !CheckExclude(codeDefinition, o))
            .ForEach(tableName =>
            {
                dataContainer.TableName = tableName;
                dataContainer.ModelName = Def.ModelNameByTableName(tableName);
                Creators.SetCodeCollection(
                    ref code,
                    codeCollection,
                    codeDefinition,
                    dataContainer,
                    () => ReplaceCode(ref code, codeDefinition, dataContainer));
            });
            dataContainer.TableName = parentTableName;
            dataContainer.ModelName = parentModelName;
        }
예제 #4
0
        internal static void SetCodeCollection(
            CodeDefinition codeDefinition,
            List <string> codeCollection,
            DataContainer dataContainer)
        {
            var code = string.Empty;

            Def.BaseItemColumnDefinitionCollection(order: codeDefinition.Order)
            .Where(o => Column.CheckExclude(codeDefinition, o) == false)
            .Where(o => !o.EachModel)
            .ForEach(columnDefinition =>
            {
                dataContainer.TableName  = "_BaseItems";
                dataContainer.ColumnName = columnDefinition.ColumnName;
                Creators.SetCodeCollection(
                    ref code,
                    codeCollection,
                    codeDefinition,
                    dataContainer,
                    () => Column.ReplaceCode(
                        ref code,
                        codeDefinition,
                        columnDefinition));
                dataContainer.TableName  = string.Empty;
                dataContainer.ColumnName = string.Empty;
            });
        }
예제 #5
0
        internal static void SetCodeCollection(
            CodeDefinition codeDefinition,
            List <string> codeCollection,
            DataContainer dataContainer)
        {
            var code = string.Empty;

            dataContainer
            .XlsIoCollection[dataContainer.DefinitionName]
            .XlsSheet
            .Columns
            .ForEach(definitionColumnName =>
                     Creators.SetCodeCollection(
                         ref code,
                         codeCollection,
                         codeDefinition,
                         dataContainer,
                         () =>
            {
                var definitionColumnNameAlternate = definitionColumnName
                                                    .EscapeReservedWord()
                                                    .Replace("-", "_");
                var definitionColumnType = dataContainer
                                           .XlsIoCollection[dataContainer.DefinitionName]
                                           .XlsSheet[0][definitionColumnName]
                                           .ToString();
                ReplaceCode(
                    ref code,
                    codeDefinition,
                    dataContainer.DefinitionName,
                    definitionColumnName,
                    definitionColumnNameAlternate,
                    definitionColumnType);
            }));
        }
예제 #6
0
        internal static void SetCodeCollection(
            CodeDefinition codeDefinition,
            List <string> codeCollection,
            DataContainer dataContainer)
        {
            var code = string.Empty;

            DisplayAccessor.Displays.DisplayHash
            .Select(o => o.Value)
            .ForEach(display => display.Languages
                     .Where(element => !CheckExclude(codeDefinition, display, element))
                     .ForEach(element =>
                              Creators.SetCodeCollection(
                                  ref code,
                                  codeCollection,
                                  codeDefinition,
                                  dataContainer,
                                  () => ReplaceCode(ref code, display, element))));
        }
예제 #7
0
        internal static void SetCodeCollection(
            CodeDefinition codeDefinition,
            List <string> codeCollection,
            DataContainer dataContainer)
        {
            var code = string.Empty;

            dataContainer.XlsIoCollection.Keys.ForEach(definitionName =>
            {
                dataContainer.DefinitionName = definitionName;
                Creators.SetCodeCollection(
                    ref code,
                    codeCollection,
                    codeDefinition,
                    dataContainer,
                    () => ReplaceCode(
                        ref code,
                        codeDefinition,
                        dataContainer));
            });
        }
예제 #8
0
        internal static void SetCodeCollection(
            CodeDefinition codeDefinition,
            List <string> codeCollection,
            DataContainer dataContainer)
        {
            var code = string.Empty;

            Def.ColumnDefinitionCollection
            .Where(o => o.TableName == dataContainer.TableName)
            .Select(o => new { ModelName = o.ModelName, FormName = o.FormName })
            .Distinct()
            .ForEach(data =>
            {
                dataContainer.FormName = data.FormName;
                Creators.SetCodeCollection(
                    ref code,
                    codeCollection,
                    codeDefinition,
                    dataContainer,
                    () => ReplaceCode(ref code, codeDefinition, data.FormName, data.ModelName));
            });
        }
예제 #9
0
        internal static void SetCodeCollection(
            CodeDefinition codeDefinition,
            List <string> codeCollection,
            DataContainer dataContainer)
        {
            var code = string.Empty;

            dataContainer
            .XlsIoCollection[dataContainer.DefinitionName]
            .XlsSheet
            .AsEnumerable()
            .Skip(1)
            .Where(o => o[0].ToString() != string.Empty)
            .ForEach(definitionRow =>
                     Creators.SetCodeCollection(
                         ref code,
                         codeCollection,
                         codeDefinition,
                         dataContainer,
                         () => code = code.Replace(
                             "#Id#",
                             ReservedWords.ValidName(definitionRow[0].ToString()))));
        }