public static MyField[] DefaultFields() { List <MyField> fields = new List <MyField>(); MyField fld = new MyField(); fld.FieldName = "CreateTime"; fld.FieldValue = TableManager.DBServerTime(); fld.EditFlags = MyFieldEditFlags.Insert; fields.Add(fld); fld = new MyField(); fld.FieldName = "CreateUser"; fld.FieldValue = Global.g_username; fld.EditFlags = MyFieldEditFlags.Insert; fields.Add(fld); fld = new MyField(); fld.FieldName = "UpdateTime"; fld.FieldValue = TableManager.DBServerTime(); fld.EditFlags = MyFieldEditFlags.Insert | MyFieldEditFlags.Update; fields.Add(fld); fld = new MyField(); fld.FieldName = "UpdateUser"; fld.FieldValue = Global.g_username; fld.EditFlags = MyFieldEditFlags.Insert | MyFieldEditFlags.Update; fields.Add(fld); return(fields.ToArray()); }
public static MyField[] addUpdateField(MyField[] fileds) { bool flg_updatetime = false, flg_updateuser = false; foreach (MyField fld in fileds) { if (fld.FieldName.ToLower() == UPDATE_TIME) { flg_updatetime = true; } if (fld.FieldName.ToLower() == UPDATE_USER) { flg_updateuser = true; } } List <MyField> list = new List <MyField>(); list.AddRange(fileds); if (!flg_updatetime) { list.Add(new MyField("updatetime", TableManager.DBServerTime(), typeof(DateTime))); } if (!flg_updateuser) { list.Add(new MyField("updateuser", Global.g_username)); } return(list.ToArray()); }
public static MyField[] addCreateField(MyField[] fileds) { bool flg_createtime = false, flg_createuser = false; bool flg_updatetime = false, flg_updateuser = false; foreach (MyField fld in fileds) { if (fld.FieldName.ToLower() == CREATE_TIME) { flg_createtime = true; } if (fld.FieldName.ToLower() == CREATE_USER) { flg_createuser = true; } if (fld.FieldName.ToLower() == UPDATE_TIME) { flg_updatetime = true; } if (fld.FieldName.ToLower() == UPDATE_USER) { flg_updateuser = true; } } Nullable <DateTime> now = new Nullable <DateTime>(); List <MyField> list = new List <MyField>(); list.AddRange(fileds); if (!flg_createtime) { if (!now.HasValue) { now = TableManager.DBServerTime(); } list.Add(new MyField("createtime", now, typeof(DateTime))); } if (!flg_createuser) { list.Add(new MyField("createuser", Global.g_username)); } if (!flg_updatetime) { if (!now.HasValue) { now = TableManager.DBServerTime(); } list.Add(new MyField("updatetime", now, typeof(DateTime))); } if (!flg_updateuser) { list.Add(new MyField("updateuser", Global.g_username)); } return(list.ToArray()); }
public virtual int Update() { List <MyField> datafields = new List <MyField>(); List <MyField> paramsfileds = new List <MyField>(); Type t = this.GetType(); PropertyInfo[] props = t.GetProperties(); DataTable schema = SchemaBuffer.getTableDef(this.GetTableName()); foreach (PropertyInfo p in props) { string fName = p.Name.ToUpper(); Object val = p.GetGetMethod().Invoke(this, new Object[] { }); foreach (DataColumn dc in schema.PrimaryKey) { if (dc.ColumnName.ToUpper() == fName) { paramsfileds.Add(new MyField(fName, val, p.PropertyType)); continue; } } if (!this.IsReadOnlyField(fName)) { if (fName.ToLower() == "updatetime") { datafields.Add(new MyField(fName, TableManager.DBServerTime(), p.PropertyType)); } else if (fName.ToLower() == "updateuser") { datafields.Add(new MyField(fName, Global.g_username, p.PropertyType)); } else { if (val == null) { datafields.Add(new MyField(fName, DBNull.Value, p.PropertyType)); } else { datafields.Add(new MyField(fName, val, p.PropertyType)); } } } } return(TableManager.Update(this.GetTableName(), datafields.ToArray(), paramsfileds.ToArray())); }
public virtual int Update(params MyField[] paramfileds) { List <MyField> datafields = new List <MyField>(); Type t = this.GetType(); PropertyInfo[] props = t.GetProperties(); foreach (PropertyInfo p in props) { string fName = p.Name.ToUpper(); Object val = p.GetGetMethod().Invoke(this, new Object[] { }); if (!this.IsReadOnlyField(fName)) { if (fName.ToLower() == "updatetime") { datafields.Add(new MyField(fName, TableManager.DBServerTime(), p.PropertyType)); } else if (fName.ToLower() == "updateuser") { datafields.Add(new MyField(fName, Global.g_username, p.PropertyType)); } else { if (val == null) { datafields.Add(new MyField(fName, DBNull.Value, p.PropertyType)); } else { datafields.Add(new MyField(fName, val, p.PropertyType)); } } } } return(TableManager.Update(this.GetTableName(), datafields.ToArray(), paramfileds)); }
public virtual int Create() { Type t = this.GetType(); PropertyInfo[] props = t.GetProperties(); PropertyInfo auto_increase_field = null; List <MyField> fields = new List <MyField>(); foreach (PropertyInfo p in props) { string fName = p.Name.ToUpper(); if (!this.IsReadOnlyField(fName)) { if (fName.ToLower() == "createtime" || fName.ToLower() == "updatetime") { DateTime now = TableManager.DBServerTime(); fields.Add(new MyField(fName, now, p.PropertyType)); p.GetSetMethod().Invoke(this, new Object[] { now }); } else if (fName.ToLower() == "createuser" || fName.ToLower() == "updateuser") { fields.Add(new MyField(fName, Global.g_username, p.PropertyType)); p.GetSetMethod().Invoke(this, new Object[] { Global.g_username }); } else { Object val = p.GetGetMethod().Invoke(this, new Object[] { }); if (val == null) { fields.Add(new MyField(fName, DBNull.Value, p.PropertyType)); } else { fields.Add(new MyField(fName, val, p.PropertyType)); } } } else if (fName.ToUpper() == "ID") { auto_increase_field = p; } } if (auto_increase_field != null) { int id; int ret = TableManager.Insert(this.GetTableName(), fields.ToArray(), out id); if (ret > 0) { auto_increase_field.GetSetMethod().Invoke(this, new Object[] { id }); } return(ret); } else { return(TableManager.Insert(this.GetTableName(), fields.ToArray())); } }