Пример #1
0
        private static string GetEntityRequiredParameterArgumentString(DDLEntity entity)
        {
            StringBuilder sb            = new StringBuilder();
            var           RequiredItems = entity.RequiredItems;

            //日期值暂不处理
            RequiredItems.RemoveAll(c => c.Type == VLCommon.AnyDB.Enums.FieldItemType.DATE);
            var OptionalItems = entity.OptionalItems;

            foreach (var item in RequiredItems)
            {
                sb.AppendFormat("{0} {1}", item.TypeString, item.ParameterTitle);
                if (item != RequiredItems.Last())
                {
                    sb.Append(", ");
                }
            }
            if (OptionalItems.Count != 0)
            {
                sb.Append(", ");
            }
            foreach (var item in OptionalItems)
            {
                sb.AppendFormat("{0} {1} = {2}", item.TypeString, item.ParameterTitle, item.DefaultValueString);
                if (item != OptionalItems.Last())
                {
                    sb.Append(", ");
                }
            }
            return(sb.ToString());
        }
Пример #2
0
 public static void AppendDALCreateMethods(this StringBuilder sb, DDLEntity entity)
 {
     sb.AppendRegionStart("Create");
     sb.AppendDALMethod_Insert(entity);
     //MultiInsert
     sb.AppendRegionEnd();
 }
Пример #3
0
        private static void AppendDALConstructorWithSession(this StringBuilder sb, DDLEntity entity)
        {
            string parameterString  = "IMySession session";
            string assignmentString = string.Format("            this.TableName = \"{0}\";", entity.ClassName);
            string chainingString   = "base(session)";

            sb.AppendConstructor(entity.DALClassName, parameterString, assignmentString, chainingString);
        }
Пример #4
0
 public static void AppendDALMethod_SelectOne(this StringBuilder sb, DDLEntity entity)
 {
     #region 方法原型
     //public ACCOUNTS SelectOne(int urid)
     //{
     //    OracleCommand command = (OracleCommand)Session.Connection.CreateCommand();
     //    command.CommandText = string.Format("select * from {0} where {1}",
     //        TableName,
     //        "URID = :URID");
     //    command.Parameters.Add(Session.GetParameter(code, BANKS.URIDProperty));
     //    var reader = Session.ExecuteDataReader(command);
     //    ACCOUNTS result = null;
     //    if (reader.Read())
     //    {
     //        result = new ACCOUNTS(reader);
     //    }
     //    return result;
     //}
     #endregion
     string methodParameterString = string.Join(",",
                                                entity.PrimaryKeyItems.Select <DDLEntityFieldItem, string>(c =>
     {
         return(string.Format("{0} {1}", c.TypeString, c.LowerTitle));
     }));
     string commandParameterString = string.Join(",",
                                                 entity.PrimaryKeyItems.Select <DDLEntityFieldItem, string>(c =>
     {
         return(string.Format(@"{0} = :{0}", c.UpperTitle));
     }));
     sb.AppendFormatLine(
         @"        public {0} SelectOne({1})
 {{
     OracleCommand command = (OracleCommand)Session.Connection.CreateCommand();
     command.CommandText = string.Format(""select * from {{0}} where {{1}}"",TableName,
         ""{2}"");",
         entity.ClassName,
         methodParameterString,
         commandParameterString);
     foreach (DDLEntityFieldItem item in entity.PrimaryKeyItems)
     {
         //目标
         //            command.Parameters.Add(Session.DBParameterGenerator.GetParameter(code, BANKS.URIDProperty));
         sb.AppendLine(string.Format(@"            command.Parameters.Add(Session.DBParameterGenerator.GetParameter({0},{1}.{2}Property));",
                                     item.LowerTitle,
                                     entity.ClassName,
                                     item.UpperTitle));
     }
     sb.AppendFormatLine(
         @"            var reader = Session.ExecuteDataReader(command);
     {0} result = null;
     if (reader.Read())
     {{
         result = new {0}(reader);
     }}
     return result;
 }}",
         entity.ClassName);
 }
Пример #5
0
 /// <summary>
 /// 生成Entity文件的构造函数
 /// </summary>
 /// <param name="sb"></param>
 /// <param name="entity"></param>
 internal static void AppendEntityConstructors(this StringBuilder sb, DDLEntity entity)
 {
     sb.AppendConstructorsStart();
     sb.AppendEntityConstructorWithOptionalParameters(entity);
     sb.AppendEntityConstructorWithRequiredParameters(entity);
     sb.AppendEntityConstructorWithDataRow(entity);
     sb.AppendEntityConstructorWithDbDataReader(entity);
     sb.AppendConstructorsEnd();
 }
Пример #6
0
 public static void AppendDALMethods(this StringBuilder sb, DDLEntity entity)
 {
     sb.AppendMethodsStart();
     sb.AppendDALCreateMethods(entity);
     sb.AppendDALRetrieveMethods(entity);
     sb.AppendDALUpdateMethods(entity);
     sb.AppendDALDeleteMethods(entity);
     sb.AppendMethodsEnd();
 }
Пример #7
0
        private static string GetEntityOptionalParameterAssignmentString(DDLEntity entity)
        {
            StringBuilder sb            = new StringBuilder();
            var           OptionalItems = entity.OptionalItems;

            foreach (var item in OptionalItems)
            {
                sb.AppendFormatLine("            this.{0} = {1};", item.UpperTitle, item.ParameterTitle);
            }
            return(sb.ToString());
        }
Пример #8
0
        private static string GetEntityRequiredParameterAssignmentString(DDLEntity entity)
        {
            StringBuilder sb            = new StringBuilder();
            var           RequiredItems = entity.RequiredItems;

            //日期值暂不处理
            RequiredItems.RemoveAll(c => c.Type == FieldItemType.DATE);
            foreach (var item in RequiredItems)
            {
                sb.AppendFormatLine("            this.{0} = {1};", item.UpperTitle, item.ParameterTitle);
            }
            return(sb.ToString());
        }
Пример #9
0
        private static string GetEntityOptionalParameterArgumentString(DDLEntity entity)
        {
            StringBuilder sb            = new StringBuilder();
            var           OptionalItems = entity.OptionalItems;

            foreach (var item in OptionalItems)
            {
                sb.AppendFormat("{0} {1} = {2}", item.TypeString, item.ParameterTitle, item.DefaultValueString);
                if (item != OptionalItems.Last())
                {
                    sb.Append(", ");
                }
            }
            return(sb.ToString());
        }
Пример #10
0
        private static string GetEntityDataRowAssignmentString(DDLEntity entity)
        {
            StringBuilder sb    = new StringBuilder();
            var           Items = entity.Items;

            foreach (DDLEntityFieldItem item in Items)
            {
                if (item.Nullable)
                {
                    sb.AppendFormatLine("            if (row[\"{0}\"] != DBNull.Value && row[\"{1}\"].ToString() != \"\")", item.UpperTitle, item.UpperTitle);
                    sb.AppendLine("            {");
                    sb.AppendFormatLine("                this.{0} = {2}(row[\"{1}\"]);", item.UpperTitle, item.UpperTitle, item.TypeConvertString);
                    sb.AppendLine("            }");
                }
                else
                {
                    sb.AppendFormatLine("            this.{0} = {2}(row[\"{1}\"]);", item.UpperTitle, item.UpperTitle, item.TypeConvertString);
                }
            }
            return(sb.ToString());
        }
Пример #11
0
        public static void AppendDALMethod_Insert(this StringBuilder sb, DDLEntity entity)
        {
            //        public int Insert(TB_STUDENT entity)
            //        {
            //目标
            //            OracleCommand command = (OracleCommand)Session.Connection.CreateCommand();
            //            command.AppendText(string.Format("insert into {0}({1}) values (", TableName,
            sb.AppendFormatLine("        public int Insert({0} entity)", entity.ClassName);
            sb.AppendLine("        {");
            sb.AppendLine("            OracleCommand command = (OracleCommand)Session.Connection.CreateCommand();");
            sb.AppendLine("            command.AppendText(string.Format(\"insert into {0}({1}) values ({2})\", TableName,");
            //目标
            //                "URID,NAME,AGE,REMARK1,REMARK2"));
            List <string> propertyNames = new List <string>();

            foreach (var item in entity.Items)
            {
                propertyNames.Add(item.Title);
            }
            sb.AppendFormatLine("                \"{0}\"));", string.Join(",", propertyNames));
            foreach (DDLEntityFieldItem item in entity.Items)
            {
                //目标
                //            command.Parameters.Add(Session.DBParameterGenerator.GetParameter(entity.URID, BANKS.URIDProperty));
                sb.AppendFormatLine("            command.AppendParameter(Session.DBParameterGenerator.GetParameter(entity.{0}, {1}.{0}Property));",
                                    item.UpperTitle,
                                    entity.ClassName);
                //目标
                //            command.AppendText(",");
                if (item != entity.Items.Last())
                {
                    sb.AppendLine("            command.AppendText(\", \");");
                }
            }
            //目标
            //            command.AppendText(")");
            //        }
            sb.AppendLine("            return Session.ExecuteNonQuery(command);");
            sb.AppendLine("        }");
        }
Пример #12
0
        private static string GetEntityRequiredParameterChainingString(DDLEntity entity)
        {
            var OptionalItems = entity.OptionalItems;

            if (OptionalItems.Count != 0)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("this(");
                foreach (var item in OptionalItems)
                {
                    sb.AppendFormat("{0}", item.ParameterTitle);
                    if (item != OptionalItems.Last())
                    {
                        sb.Append(", ");
                    }
                }
                sb.Append(")");
                return(sb.ToString());
            }
            else
            {
                return(null);
            }
        }
Пример #13
0
 public static void AppendDALConstructors(this StringBuilder sb, DDLEntity entity)
 {
     sb.AppendConstructorsStart();
     sb.AppendDALConstructorWithSession(entity);
     sb.AppendConstructorsEnd();
 }
Пример #14
0
        public static void AppendDALDeleteMethods(this StringBuilder sb, DDLEntity entity)
        {
            sb.AppendRegionStart("Delete");

            sb.AppendRegionEnd();
        }
Пример #15
0
 public static void AppendDALRetrieveMethods(this StringBuilder sb, DDLEntity entity)
 {
     sb.AppendRegionStart("Retrieve");
     sb.AppendDALMethod_SelectOne(entity);
     sb.AppendRegionEnd();
 }
Пример #16
0
 /// <summary>
 /// 构造函数:(可选项)
 /// </summary>
 /// <param name="sb"></param>
 private static void AppendEntityConstructorWithOptionalParameters(this StringBuilder sb, DDLEntity entity)
 {
     sb.AppendConstructor(entity.ClassName, GetEntityOptionalParameterArgumentString(entity), GetEntityOptionalParameterAssignmentString(entity));
 }
Пример #17
0
        /// <summary>
        /// 构造函数:(必填项,可选项)
        /// </summary>
        /// <param name="sb"></param>
        private static void AppendEntityConstructorWithRequiredParameters(this StringBuilder sb, DDLEntity entity)
        {
            if (entity.RequiredItems.Count == 0)
            {
                return;
            }

            sb.AppendConstructor(entity.ClassName, GetEntityRequiredParameterArgumentString(entity), GetEntityRequiredParameterAssignmentString(entity), GetEntityRequiredParameterChainingString(entity));
        }
Пример #18
0
 /// <summary>
 /// 构造函数:(DataRow)
 /// </summary>
 /// <param name="sb"></param>
 private static void AppendEntityConstructorWithDataRow(this StringBuilder sb, DDLEntity entity)
 {
     sb.AppendConstructor(entity.ClassName, "DataRow row", GetEntityDataRowAssignmentString(entity));
 }
Пример #19
0
 internal DDLBLLFileGenerator(DDLEntity parent) : base(parent)
 {
 }
Пример #20
0
 internal BaseDDLFileGenerator(DDLEntity parent)
 {
     this.Parent = parent;
 }