Пример #1
0
        public StringBuilder BuildSelectAllByForeignKeyInterface(DataStructure entity)
        {
            StringBuilder res = new StringBuilder();

            foreach (Key k in entity.GetForeignKeys())
            {
                res.AppendLine($"IEnumerable<{entity.ClrName}> GetAllBy{k.ClrName}({k.GetClrType()} {k.ClrName});");
            }
            return res;
        }
Пример #2
0
        public StringBuilder BuildDeleteByForeignKeyInterface(DataStructure entity)
        {
            StringBuilder res = new StringBuilder();

            foreach (Key k in entity.GetForeignKeys())
            {
                res.AppendLine($"void DeleteAllBy{k.ClrName}({k.GetClrType()} {k.Name});");
            }
            return res;
        }
Пример #3
0
        public StringBuilder BuildDeleteByForeignKeyPublic(DataStructure entity)
        {
            StringBuilder res = new StringBuilder();

            foreach (Key fk in entity.GetForeignKeys())
            {
                res.AppendLine($"public void DeleteAllBy{fk.ClrName}({fk.GetClrType()} {fk.ClrName}){{");
                res.AppendLine("IStatementBuilder statement = _statementBuilderFactory.Build(QueryType.Delete);");
                res.AppendLine($"BuildDeleteAllBy{fk.ClrName}Query(ref statement, {fk.ClrName});");
                res.AppendLine("Execute(statement);");
                res.AppendLine("}");
            }
            return res;
        }
Пример #4
0
        public StringBuilder BuildDeleteByForeignKeyPrivate(DataStructure entity)
        {
            StringBuilder res = new StringBuilder();

            foreach (Key fk in entity.GetForeignKeys())
            {
                res.AppendLine($"private void BuildDeleteAllBy{fk.ClrName}Query(ref IStatementBuilder sb,{fk.GetClrType()} {fk.ClrName}){{");
                res.AppendLine($"sb.Append(\"delete from {entity.Name} where {fk.Name} = @{fk.Name}\");");
                res.AppendLine($"sb.AddParameter(\"{fk.Name}\", {fk.ClrName},DbType.{fk.GetDbType()});");
                res.AppendLine("}");
            }

            return res;
        }
Пример #5
0
        public StringBuilder BuildSelectSingleByForeignKeyPublic(DataStructure entity)
        {
            StringBuilder res = new StringBuilder();

            foreach (Key fk in entity.GetForeignKeys())
            {
                res.AppendLine($"public {entity.ClrName} GetBy{fk.ClrName}({fk.GetClrType()} {fk.ClrName}){{");
                res.AppendLine($"IStatementBuilder statement = _statementBuilderFactory.Build(QueryType.SelectSingleRow);");
                res.AppendLine($"BuildGetBy{fk.ClrName}Query(ref statement, {fk.ClrName});");
                res.AppendLine($"IResult query = Execute(statement);");
                res.AppendLine($"{entity.ClrName} res = query.SingleOrDefault<{entity.ClrName}>();");
                res.AppendLine($"return res;");
                res.AppendLine("}");
            }
            return res;
        }
Пример #6
0
 public StringBuilder BuildSelectAllByForeignKeyWithPaginationPublic(DataStructure entity)
 {
     StringBuilder res = new StringBuilder();
     if (entity.GetPrimaryKeys().Any())
     {
         foreach (Key fk in entity.GetForeignKeys())
         {
             res.AppendLine($"public IPagedEnumerable<{entity.ClrName}> GetAllPagedBy{fk.ClrName}({fk.GetClrType()} {fk.ClrName},int pageSize ,int page){{");
             res.AppendLine($"IStatementBuilder statement = _statementBuilderFactory.Build(QueryType.SelectMultipleRows);");
             res.AppendLine($"BuildGetAllPagedBy{fk.ClrName}Query(ref statement, {fk.ClrName}, pageSize , page);");
             res.AppendLine($"IResult query = Execute(statement);");
             res.AppendLine($"IPagedEnumerable<{entity.ClrName}> res = new PagedEnumerable<{entity.ClrName}>(query.ToList<{entity.ClrName}>(),page,pageSize,0);");
             res.AppendLine($"return res;");
             res.AppendLine("}");
         }
     }
     return res;
 }
Пример #7
0
        public StringBuilder BuildSelectAllByForeignKeyWithPaginationPrivate(DataStructure entity)
        {
            StringBuilder res = new StringBuilder();
            if (entity.GetPrimaryKeys().Any())
            {
                string primaryKeys = entity.GetPrimaryKeys().Select(pk => $"{pk.Name}").Aggregate((a, b) => a + ", " + b);
                foreach (Key fk in entity.GetForeignKeys())
                {
                    res.AppendLine($"private void BuildGetAllPagedBy{fk.ClrName}Query(ref IStatementBuilder sb,{fk.GetClrType()} {fk.ClrName},int pageSize ,int page){{");
                    res.AppendLine($"sb.Append(\";With SQLPaging As(\");");
                    res.AppendLine($"sb.Append(\"Select Top(@pageSize * @page) ROW_NUMBER() OVER(ORDER BY {primaryKeys} asc)\");");
                    res.AppendLine($"sb.Append(\"as resultNum, *\");");
                    res.AppendLine($"sb.Append(\"FROM {entity.Name} where {fk.Name} = @{fk.Name})\");");
                    res.AppendLine($"sb.Append(\"select * from SQLPaging with (nolock) where resultNum > ((@page - 1) * @pageSize)\");");

                    res.AppendLine($"sb.AddParameter(\"{fk.Name}\", {fk.ClrName},DbType.{fk.GetDbType()});");
                    res.AppendLine($"sb.AddParameter(\"page\", page,DbType.Int32);");
                    res.AppendLine($"sb.AddParameter(\"pageSize\",pageSize,DbType.Int32);");
                    res.AppendLine("}");
                }
            }

            return res;
        }
Пример #8
0
 public StringBuilder BuildSelectAllByForeignKeyWithPaginationInterface(DataStructure entity)
 {
     StringBuilder res = new StringBuilder();
     if (entity.GetPrimaryKeys().Any())
     {
         foreach (Key k in entity.GetForeignKeys())
         {
             res.AppendLine($"IPagedEnumerable<{entity.ClrName}> GetAllPagedBy{k.ClrName}({k.GetClrType()} {k.ClrName},int pageSize ,int page);");
         }
     }
     return res;
 }
Пример #9
0
        public StringBuilder BuildSelectAllByForeignKeyPublic(DataStructure entity)
        {
            StringBuilder res = new StringBuilder();

            foreach (Key fk in entity.GetForeignKeys())
            {
                res.AppendLine($"public IEnumerable<{entity.ClrName}> GetAllBy{fk.ClrName}({fk.GetClrType()} {fk.ClrName}){{");
                res.AppendLine($"IStatementBuilder statement = _statementBuilderFactory.Build(QueryType.SelectMultipleRows);");
                res.AppendLine($"BuildGetAllBy{fk.ClrName}Query(ref statement, {fk.ClrName});");
                res.AppendLine($"IResult query = Execute(statement);");
                res.AppendLine($"IEnumerable<{entity.ClrName}> res = query.ToList<{entity.ClrName}>();");
                res.AppendLine($"return res;");
                res.AppendLine("}");
            }
            return res;
        }