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()); }
public static void AppendDALCreateMethods(this StringBuilder sb, DDLEntity entity) { sb.AppendRegionStart("Create"); sb.AppendDALMethod_Insert(entity); //MultiInsert sb.AppendRegionEnd(); }
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); }
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); }
/// <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(); }
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(); }
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()); }
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()); }
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()); }
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()); }
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(" }"); }
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); } }
public static void AppendDALConstructors(this StringBuilder sb, DDLEntity entity) { sb.AppendConstructorsStart(); sb.AppendDALConstructorWithSession(entity); sb.AppendConstructorsEnd(); }
public static void AppendDALDeleteMethods(this StringBuilder sb, DDLEntity entity) { sb.AppendRegionStart("Delete"); sb.AppendRegionEnd(); }
public static void AppendDALRetrieveMethods(this StringBuilder sb, DDLEntity entity) { sb.AppendRegionStart("Retrieve"); sb.AppendDALMethod_SelectOne(entity); sb.AppendRegionEnd(); }
/// <summary> /// 构造函数:(可选项) /// </summary> /// <param name="sb"></param> private static void AppendEntityConstructorWithOptionalParameters(this StringBuilder sb, DDLEntity entity) { sb.AppendConstructor(entity.ClassName, GetEntityOptionalParameterArgumentString(entity), GetEntityOptionalParameterAssignmentString(entity)); }
/// <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)); }
/// <summary> /// 构造函数:(DataRow) /// </summary> /// <param name="sb"></param> private static void AppendEntityConstructorWithDataRow(this StringBuilder sb, DDLEntity entity) { sb.AppendConstructor(entity.ClassName, "DataRow row", GetEntityDataRowAssignmentString(entity)); }
internal DDLBLLFileGenerator(DDLEntity parent) : base(parent) { }
internal BaseDDLFileGenerator(DDLEntity parent) { this.Parent = parent; }