/// <summary> /// 更新 /// </summary> /// <param name="userInfo">用户</param> /// <param name="entity">实体</param> /// <param name="statusCode">状态码</param> /// <param name="statusMessage">状态信息</param> /// <returns>影响行数</returns> public int Update(BaseUserInfo userInfo, BaseAreaEntity entity, out string statusCode, out string statusMessage) { int result = 0; string returnCode = string.Empty; string returnMessage = string.Empty; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterWriteDb(userInfo, parameter, (dbHelper) => { var manager = new BaseAreaManager(dbHelper, userInfo); result = manager.Update(entity, out returnCode); returnMessage = manager.GetStateMessage(returnCode); }); statusCode = returnCode; statusMessage = returnMessage; // 处理缓存优化性能 System.Web.Caching.Cache cache = HttpRuntime.Cache; string cacheObject = string.Empty; if (string.IsNullOrEmpty(entity.ParentId)) { cacheObject = "AreaProvince"; } else { cacheObject = "Area" + entity.ParentId; } cache.Remove(cacheObject); return(result); }
/// <summary> /// 更新实体 /// </summary> /// <param name="entity">实体</param> public int UpdateObject(BaseAreaEntity entity) { int result = 0; SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedBy, UserInfo.RealName); } // 若有修改时间标示,那就按修改时间来,不是按最新的时间来 if (entity.ModifiedOn.HasValue) { sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedOn, entity.ModifiedOn.Value); } else { sqlBuilder.SetDBNow(BaseAreaEntity.FieldModifiedOn); } sqlBuilder.SetWhere(BaseAreaEntity.FieldId, entity.Id); result = sqlBuilder.EndUpdate(); return(result); }
public static BaseAreaEntity GetObject(BaseUserInfo userInfo, string id) { BaseAreaEntity result = null; string url = BaseSystemInfo.UserCenterHost + "/UserCenterV42/AreaService.ashx"; WebClient webClient = new WebClient(); NameValueCollection postValues = new NameValueCollection(); postValues.Add("system", BaseSystemInfo.SoftFullName); postValues.Add("systemCode", BaseSystemInfo.SystemCode); postValues.Add("securityKey", BaseSystemInfo.SecurityKey); // 2015-11-25 吉日嘎拉,这里还是从缓存里获取就可以了,提高登录的效率。 postValues.Add("function", "GetObject"); postValues.Add("userInfo", userInfo.Serialize()); postValues.Add("encrypted", true.ToString()); postValues.Add("id", SecretUtil.Encrypt(id)); // 向服务器发送POST数据 byte[] responseArray = webClient.UploadValues(url, postValues); string response = Encoding.UTF8.GetString(responseArray); if (!string.IsNullOrEmpty(response)) { result = JsonConvert.DeserializeObject <BaseAreaEntity>(response); } return(result); }
/// <summary> /// 从缓存获取获取实体 /// </summary> /// <param name="id">主键</param> public static BaseAreaEntity GetObjectByCache(string id) { BaseAreaEntity result = null; System.Web.Caching.Cache cache = HttpRuntime.Cache; string cacheObject = "Area"; if (!string.IsNullOrEmpty(id)) { cacheObject = "Area" + id; } if (cache != null && cache[cacheObject] == null) { lock (locker) { if (cache != null && cache[cacheObject] == null) { BaseAreaManager manager = new DotNet.Business.BaseAreaManager(BaseAreaEntity.TableName); result = manager.GetObject(id); // 若是空的不用缓存,继续读取实体 if (result != null) { cache.Add(cacheObject, result, null, DateTime.Now.AddMinutes(5), TimeSpan.Zero, CacheItemPriority.Normal, null); System.Console.WriteLine(System.DateTime.Now.ToString(BaseSystemInfo.DateTimeFormat) + " cache Area " + id); } } } } result = cache[cacheObject] as BaseAreaEntity; return(result); }
/// <summary> /// 缓存预热,强制重新缓存 /// </summary> /// <returns>影响行数</returns> public static int CachePreheating() { int result = 0; // 把所有的组织机构都缓存起来的代码 BaseAreaManager manager = new BaseAreaManager(); using (IDataReader dataReader = manager.ExecuteReader()) { while (dataReader.Read()) { BaseAreaEntity entity = BaseEntity.Create <BaseAreaEntity>(dataReader, false); if (entity != null && entity.Layer < 7) { BaseAreaManager.SetCache(entity); result++; System.Console.WriteLine(result.ToString() + " : " + entity.FullName); // 把列表缓存起来 BaseAreaManager.GetListByParentByCache(entity.Id, true); System.Console.WriteLine(result.ToString() + " : " + entity.Id + " " + entity.FullName + " List"); } } dataReader.Close(); } return(result); }
/// <summary> /// 实体修改记录 /// </summary> /// <param name="newEntity">修改前的实体对象</param> /// <param name="oldEntity">修改后的实体对象</param> /// <param name="tableName">表名称</param> public void UpdateEntityLog(BaseAreaEntity newEntity, BaseAreaEntity oldEntity, string tableName = null) { if (string.IsNullOrEmpty(tableName)) { tableName = this.CurrentTableName + "_LOG"; } BaseModifyRecordManager manager = new BaseModifyRecordManager(this.UserInfo, tableName); foreach (var property in typeof(BaseAreaEntity).GetProperties()) { var oldValue = Convert.ToString(property.GetValue(oldEntity, null)); var newValue = Convert.ToString(property.GetValue(newEntity, null)); //不记录创建人、修改人、没有修改的记录 var fieldDescription = property.GetCustomAttributes(typeof(FieldDescription), false).FirstOrDefault() as FieldDescription; if (!fieldDescription.NeedLog || oldValue == newValue) { continue; } var record = new BaseModifyRecordEntity(); record.ColumnCode = property.Name.ToUpper(); record.ColumnDescription = fieldDescription.Text; record.NewValue = newValue; record.OldValue = oldValue; record.TableCode = this.CurrentTableName.ToUpper(); record.TableDescription = FieldExtensions.ToDescription(typeof(BaseAreaEntity), "TableName"); record.RecordKey = oldEntity.Id.ToString(); record.IPAddress = Utilities.GetIPAddress(true); manager.Add(record, true, false); } }
public override int BatchSave(DataTable dt) { int result = 0; BaseAreaEntity entity = new BaseAreaEntity(); foreach (DataRow dr in dt.Rows) { // 删除状态 if (dr.RowState == DataRowState.Deleted) { string id = dr[BaseAreaEntity.FieldId, DataRowVersion.Original].ToString(); if (id.Length > 0) { result += this.DeleteObject(id); } } // 被修改过 if (dr.RowState == DataRowState.Modified) { string id = dr[BaseAreaEntity.FieldId, DataRowVersion.Original].ToString(); if (id.Length > 0) { entity.GetFrom(dr); result += this.UpdateObject(entity); } } // 添加状态, 远程接口调用序列化时都会变成添加状态 if (dr.RowState == DataRowState.Added) { entity.GetFrom(dr); if (!string.IsNullOrEmpty(entity.Id)) { if (this.UpdateObject(entity) > 0) { result++; } else { result += this.AddObject(entity).Length > 0 ? 1 : 0; } } else { result += this.AddObject(entity).Length > 0 ? 1 : 0; } } if (dr.RowState == DataRowState.Unchanged) { continue; } if (dr.RowState == DataRowState.Detached) { continue; } } return(result); }
private static void SetCache(BaseAreaEntity entity) { if (entity != null && !string.IsNullOrWhiteSpace(entity.Id)) { string key = string.Empty; key = "Area" + entity.Id; System.Web.Caching.Cache cache = HttpRuntime.Cache; cache.Add(key, entity, null, DateTime.Now.AddMinutes(10), TimeSpan.Zero, CacheItemPriority.Normal, null); } }
private static void SetCache(BaseAreaEntity entity) { if (entity != null && !string.IsNullOrWhiteSpace(entity.Id)) { string key = string.Empty; using (var redisClient = PooledRedisHelper.GetClient()) { key = "Area:" + entity.Id; redisClient.Set <BaseAreaEntity>(key, entity, DateTime.Now.AddMinutes(10)); } } }
/// <summary> /// 获取实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主键</param> /// <returns>实体</returns> public BaseAreaEntity GetObject(BaseUserInfo userInfo, string id) { BaseAreaEntity entity = null; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) => { var manager = new BaseAreaManager(dbHelper, userInfo); entity = manager.GetObject(id); }); return(entity); }
public static string GetNameByByCache(string id) { string result = string.Empty; BaseAreaEntity entity = GetObjectByCache(id); if (entity != null) { result = entity.FullName; } return(result); }
public static BaseAreaEntity GetCache(string key) { BaseAreaEntity result = null; if (!string.IsNullOrWhiteSpace(key)) { using (var redisClient = PooledRedisHelper.GetClient()) { result = redisClient.Get <BaseAreaEntity>(key); } } return(result); }
/// <summary> /// 获取实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主键</param> /// <returns>实体</returns> public BaseAreaEntity GetObject(BaseUserInfo userInfo, string id) { var parameter = ServiceParameter.CreateWithMessage(userInfo , MethodBase.GetCurrentMethod() , this.serviceName , AppMessage.OrganizeService_GetObject); BaseAreaEntity entity = null; ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) => { var manager = new BaseAreaManager(dbHelper, userInfo); entity = manager.GetObject(id); }); return(entity); }
public static BaseAreaEntity GetCache(string key) { BaseAreaEntity result = null; if (!string.IsNullOrWhiteSpace(key)) { System.Web.Caching.Cache cache = HttpRuntime.Cache; if (cache != null && cache[key] == null) { result = cache[key] as BaseAreaEntity; } } return(result); }
/// <summary> /// 1:默认从只读的缓存服务器获取数据 /// 2:若读取不到,就会到接口上获取,接口会把数据缓存到只读服务器上,为下次阅读提高性能 /// </summary> /// <param name="userInfo"></param> /// <param name="id"></param> /// <returns></returns> public static BaseAreaEntity GetObjectByCache(BaseUserInfo userInfo, string id) { BaseAreaEntity result = null; string key = "Area:" + id; result = BaseAreaManager.GetCache(key); // 远程通过接口获取数据 if (result == null) { result = GetObject(userInfo, id); } return(result); }
/// <summary> /// 添加实体 /// </summary> /// <param name="userInfo">用户</param> /// <param name="entity">实体</param> /// <param name="statusCode">状态码</param> /// <param name="statusMessage">状态信息</param> /// <returns>主键</returns> public string Add(BaseUserInfo userInfo, BaseAreaEntity entity, out string statusCode, out string statusMessage) { string result = string.Empty; string returnCode = string.Empty; string returnMessage = string.Empty; var parameter = ServiceInfo.Create(userInfo, MethodBase.GetCurrentMethod()); ServiceUtil.ProcessUserCenterWriteDb(userInfo, parameter, (dbHelper) => { var manager = new BaseAreaManager(dbHelper, userInfo); result = manager.Add(entity, out returnCode); returnMessage = manager.GetStateMessage(returnCode); }); statusCode = returnCode; statusMessage = returnMessage; return(result); }
public void SetAreaEntity <T>(T t) where T : BaseAreaEntity { if (t != null) { BaseAreaEntity entity = t as BaseAreaEntity; if (entity != null) { if (!string.IsNullOrEmpty(entity.AreaId)) { string[] areaIdArr = entity.AreaId.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); if (areaIdArr.Length >= 1) { entity.ProvinceId = areaIdArr[0].ParseToInt(); } else { entity.ProvinceId = 0; } if (areaIdArr.Length >= 2) { entity.CityId = areaIdArr[1].ParseToInt(); } else { entity.CityId = 0; } if (areaIdArr.Length >= 3) { entity.CountyId = areaIdArr[2].ParseToInt(); } else { entity.CountyId = 0; } } } } }
/// <summary> /// 设置实体 /// </summary> /// <param name="entity">实体</param> private void SetObject(SQLBuilder sqlBuilder, BaseAreaEntity entity) { sqlBuilder.SetValue(BaseAreaEntity.FieldParentId, entity.ParentId); sqlBuilder.SetValue(BaseAreaEntity.FieldCode, entity.Code); sqlBuilder.SetValue(BaseAreaEntity.FieldFullName, entity.FullName); sqlBuilder.SetValue(BaseAreaEntity.FieldShortName, entity.ShortName); sqlBuilder.SetValue(BaseAreaEntity.FieldPostalcode, entity.Postalcode); sqlBuilder.SetValue(BaseAreaEntity.FieldQuickQuery, entity.QuickQuery); sqlBuilder.SetValue(BaseAreaEntity.FieldSimpleSpelling, entity.SimpleSpelling); sqlBuilder.SetValue(BaseAreaEntity.FieldProvince, entity.Province); sqlBuilder.SetValue(BaseAreaEntity.FieldCity, entity.City); sqlBuilder.SetValue(BaseAreaEntity.FieldDistrict, entity.District); sqlBuilder.SetValue(BaseAreaEntity.FieldLongitude, entity.Longitude); sqlBuilder.SetValue(BaseAreaEntity.FieldLatitude, entity.Latitude); sqlBuilder.SetValue(BaseAreaEntity.FieldManageCompanyId, entity.ManageCompanyId); sqlBuilder.SetValue(BaseAreaEntity.FieldManageCompanyCode, entity.ManageCompanyCode); sqlBuilder.SetValue(BaseAreaEntity.FieldManageCompany, entity.ManageCompany); sqlBuilder.SetValue(BaseAreaEntity.FieldNetworkOrders, entity.NetworkOrders); sqlBuilder.SetValue(BaseAreaEntity.FieldDelayDay, entity.DelayDay); sqlBuilder.SetValue(BaseAreaEntity.FieldOpening, entity.Opening); sqlBuilder.SetValue(BaseAreaEntity.FieldWhole, entity.Whole); sqlBuilder.SetValue(BaseAreaEntity.FieldReceive, entity.Receive); sqlBuilder.SetValue(BaseAreaEntity.FieldSend, entity.Send); sqlBuilder.SetValue(BaseAreaEntity.FieldLayer, entity.Layer); sqlBuilder.SetValue(BaseAreaEntity.FieldAllowToPay, entity.AllowToPay); sqlBuilder.SetValue(BaseAreaEntity.FieldMaxToPayment, entity.MaxToPayment); sqlBuilder.SetValue(BaseAreaEntity.FieldAllowGoodsPay, entity.AllowGoodsPay); sqlBuilder.SetValue(BaseAreaEntity.FieldMaxGoodsPayment, entity.MaxGoodsPayment); sqlBuilder.SetValue(BaseAreaEntity.FieldMark, entity.Mark); sqlBuilder.SetValue(BaseAreaEntity.FieldPrintMark, entity.PrintMark); sqlBuilder.SetValue(BaseAreaEntity.FieldOutOfRange, entity.OutOfRange); sqlBuilder.SetValue(BaseAreaEntity.FieldStatistics, entity.Statistics); sqlBuilder.SetValue(BaseAreaEntity.FieldEnabled, entity.Enabled); sqlBuilder.SetValue(BaseAreaEntity.FieldDeletionStateCode, entity.DeletionStateCode); sqlBuilder.SetValue(BaseAreaEntity.FieldSortCode, entity.SortCode); sqlBuilder.SetValue(BaseAreaEntity.FieldDescription, entity.Description); SetObjectExpand(sqlBuilder, entity); }
public void SetAreaId <T>(T t) where T : BaseAreaEntity { if (t != null) { BaseAreaEntity entity = t as BaseAreaEntity; if (entity != null) { entity.AreaId = string.Empty; if (!entity.ProvinceId.IsNullOrZero()) { entity.AreaId += entity.ProvinceId.ParseToString() + ","; if (!entity.CityId.IsNullOrZero()) { entity.AreaId += entity.CityId.ParseToString() + ","; if (!entity.CountyId.IsNullOrZero()) { entity.AreaId += entity.CountyId.ParseToString() + ","; } } } entity.AreaId = entity.AreaId.Trim(','); } } }
/// <summary> /// 从缓存获取获取实体 /// </summary> /// <param name="id">主键</param> /// <returns>实体</returns> public static BaseAreaEntity GetObjectByCache(string id) { BaseAreaEntity result = null; string cacheKey = "Area:"; if (!string.IsNullOrEmpty(id)) { cacheKey = cacheKey + id; } result = GetCache(cacheKey); if (result == null || string.IsNullOrWhiteSpace(result.Id)) { BaseAreaManager manager = new DotNet.Business.BaseAreaManager(); result = manager.GetObject(id); // 若是空的不用缓存,继续读取实体 if (result != null) { SetCache(result); } } return(result); }
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseAreaEntity entity) { string sequence = string.Empty; if (!entity.SortCode.HasValue) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.Increment(this.CurrentTableName); entity.SortCode = int.Parse(sequence); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, BaseAreaEntity.FieldId); if (!string.IsNullOrEmpty(entity.Id) || !this.Identity) { sqlBuilder.SetValue(BaseAreaEntity.FieldId, entity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(BaseAreaEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(BaseAreaEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (entity.Id == null) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.Increment(this.CurrentTableName); } entity.Id = sequence; } sqlBuilder.SetValue(BaseAreaEntity.FieldId, entity.Id); } } } this.SetObject(sqlBuilder, entity); // 创建人信息 if (!string.IsNullOrEmpty(entity.CreateUserId)) { sqlBuilder.SetValue(BaseAreaEntity.FieldCreateUserId, entity.CreateUserId); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseAreaEntity.FieldCreateUserId, UserInfo.Id); } } if (!string.IsNullOrEmpty(entity.CreateBy)) { sqlBuilder.SetValue(BaseAreaEntity.FieldCreateBy, entity.CreateBy); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseAreaEntity.FieldCreateBy, UserInfo.RealName); } } if (entity.CreateOn.HasValue) { sqlBuilder.SetValue(BaseAreaEntity.FieldCreateOn, entity.CreateOn); } else { sqlBuilder.SetDBNow(BaseAreaEntity.FieldCreateOn); } // 修改人信息 if (!string.IsNullOrEmpty(entity.ModifiedUserId)) { sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedUserId, entity.ModifiedUserId); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedUserId, UserInfo.Id); } } if (!string.IsNullOrEmpty(entity.ModifiedBy)) { sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedBy, entity.ModifiedBy); } else { if (UserInfo != null) { sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedBy, UserInfo.RealName); } } if (entity.ModifiedOn.HasValue) { sqlBuilder.SetValue(BaseAreaEntity.FieldModifiedOn, entity.ModifiedOn); } else { sqlBuilder.SetDBNow(BaseAreaEntity.FieldModifiedOn); } if (DbHelper.CurrentDbType == CurrentDbType.SqlServer && this.Identity) { sequence = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } return(sequence); }
public string Add(BaseAreaEntity entity, out string statusCode) { string result = string.Empty; // 检查是否重复 List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldParentId, entity.ParentId)); parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldFullName, entity.FullName)); parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldDeletionStateCode, 0)); //注意Access 的时候,类型不匹配,会出错故此将 Id 传入 if (BaseSystemInfo.UserCenterDbType == CurrentDbType.Access) { if (this.Exists(parameters, entity.Id)) { // 名称已重复 statusCode = Status.ErrorNameExist.ToString(); } else { parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldCode, entity.Code)); parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldDeletionStateCode, 0)); if (entity.Code.Length > 0 && this.Exists(parameters)) { // 编号已重复 statusCode = Status.ErrorCodeExist.ToString(); } else { if (string.IsNullOrEmpty(entity.QuickQuery)) { // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率 entity.QuickQuery = StringUtil.GetPinyin(entity.FullName).ToLower(); } if (string.IsNullOrEmpty(entity.SimpleSpelling)) { // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率 entity.SimpleSpelling = StringUtil.GetSimpleSpelling(entity.FullName).ToLower(); } result = this.AddObject(entity); // 运行成功 statusCode = Status.OKAdd.ToString(); } } } else if (this.Exists(parameters)) { // 名称已重复 statusCode = Status.ErrorNameExist.ToString(); } else { parameters = new List <KeyValuePair <string, object> >(); parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldCode, entity.Code)); parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldDeletionStateCode, 0)); if (entity.Code.Length > 0 && this.Exists(parameters)) { // 编号已重复 statusCode = Status.ErrorCodeExist.ToString(); } else { result = this.AddObject(entity); // 运行成功 statusCode = Status.OKAdd.ToString(); } } return(result); }
/// <summary> /// 添加 /// </summary> /// <param name="entity">实体</param> /// <returns>主键</returns> public string Add(BaseAreaEntity entity) { return(this.AddObject(entity)); }
partial void SetObjectExpand(SQLBuilder sqlBuilder, BaseAreaEntity entity);
public int Update(BaseAreaEntity entity, out string statusCode) { int result = 0; // 检查是否已被其他人修改 //if (DbLogic.IsModifed(DbHelper, BaseOrganizeEntity.TableName, entity.Id, entity.ModifiedUserId, entity.ModifiedOn)) //{ // // 数据已经被修改 // statusCode = StatusCode.ErrorChanged.ToString(); //} //else //{ List <KeyValuePair <string, object> > parameters = new List <KeyValuePair <string, object> >(); if (entity.ParentId != null) { parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldParentId, entity.ParentId)); } parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldFullName, entity.FullName)); parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldDeletionStateCode, 0)); parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldEnabled, 1)); if (this.Exists(parameters, entity.Id)) { // 名称已重复 statusCode = Status.ErrorNameExist.ToString(); } else { // 检查编号是否重复 parameters = new List <KeyValuePair <string, object> >(); if (entity.ParentId != null) { parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldParentId, entity.ParentId)); } parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldCode, entity.Code)); parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldDeletionStateCode, 0)); parameters.Add(new KeyValuePair <string, object>(BaseAreaEntity.FieldEnabled, 1)); if (entity.Code.Length > 0 && this.Exists(parameters, entity.Id)) { // 编号已重复 statusCode = Status.ErrorCodeExist.ToString(); } else { if (string.IsNullOrEmpty(entity.QuickQuery)) { // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率 entity.QuickQuery = StringUtil.GetPinyin(entity.FullName).ToLower(); } if (string.IsNullOrEmpty(entity.SimpleSpelling)) { // 2015-12-11 吉日嘎拉 全部小写,提高Oracle的效率 entity.SimpleSpelling = StringUtil.GetSimpleSpelling(entity.FullName).ToLower(); } // 获取原始实体信息 var entityOld = this.GetObject(entity.Id); // 保存修改记录 this.UpdateEntityLog(entity, entityOld); result = this.UpdateObject(entity); if (result == 1) { statusCode = Status.OKUpdate.ToString(); } else { statusCode = Status.ErrorDeleted.ToString(); } } } //} return(result); }
/// <summary> /// 更新 /// </summary> /// <param name="entity">实体</param> public int Update(BaseAreaEntity entity) { return(this.UpdateObject(entity)); }
/// <summary> /// 添加 /// </summary> /// <param name="entity">实体</param> /// <param name="identity">自增量方式</param> /// <param name="returnId">返回主鍵</param> /// <returns>主键</returns> public string Add(BaseAreaEntity entity, bool identity, bool returnId) { this.Identity = identity; this.ReturnId = returnId; return(this.AddObject(entity)); }
/// <summary> /// 设置按省路由大头笔 /// </summary> /// <param name="userInfo">用户</param> /// <param name="dtAreaRouteMark">路由设置</param> /// <returns>影响行数</returns> public int SetAreaRouteMark(string areaId, DataTable dtAreaRouteMark) { int result = 0; string areaName = string.Empty; BaseAreaEntity areaEntity = BaseAreaManager.GetObjectByCache(areaId); if (areaEntity != null) { areaName = areaEntity.FullName; } if (string.IsNullOrEmpty(areaName)) { return(result); } IDbHelper dbHelper = DbHelperFactory.GetHelper(BaseSystemInfo.UserCenterDbType, BaseSystemInfo.UserCenterDbConnection); foreach (DataRow dr in dtAreaRouteMark.Rows) { // BaseAreaProvinceMarkEntity entity = null; if (string.IsNullOrWhiteSpace(dr["Id"].ToString())) { /* * entity = new BaseAreaProvinceMarkEntity(); * BaseEntity.Create<BaseAreaProvinceMarkEntity>(dr); * entity.Province = dr["AREANAME"].ToString(); * entity.ProvinceId = dr["AREAID"].ToString(); * entity.Mark = dr["MARK"].ToString(); * entity.Description = dr["DESCRIPTION"].ToString(); * entity.CreateBy = this.UserInfo.RealName; * entity.CreateUserId = this.UserInfo.Id; * entity.CreateOn = DateTime.Now; * this.AddObject(entity); */ SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); sqlBuilder.BeginInsert("BASEAREA_PROVINCEMARK"); sqlBuilder.SetFormula("Id", "SEQ_BASEAREA_PROVINCEMARK.NEXTVAL"); sqlBuilder.SetValue("MARK", dr["MARK"].ToString()); sqlBuilder.SetValue("DESCRIPTION", dr["DESCRIPTION"].ToString()); sqlBuilder.SetValue("AREAID", areaId); sqlBuilder.SetValue("AREA", areaName); sqlBuilder.SetValue("ProvinceID", dr["AREAID"].ToString()); sqlBuilder.SetValue("Province", dr["AREANAME"].ToString()); sqlBuilder.SetValue("CreateUserId", this.UserInfo.Id); sqlBuilder.SetValue("CreateBy", this.UserInfo.RealName); sqlBuilder.SetDBNow("CreateOn"); sqlBuilder.SetValue("Enabled", 1); sqlBuilder.EndInsert(); // sqlBuilder.PrepareCommand(); // dotNetService.AreaService.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, sqlBuilder.DbParameters, CommandType.Text.ToString()); } else { /* * if (string.IsNullOrWhiteSpace(dr["MARK"].ToString()) && string.IsNullOrWhiteSpace(dr["DESCRIPTION"].ToString())) * { * this.Delete(dr["Id"].ToString()); * } * else * { * entity = this.GetObject(dr["Id"].ToString()); * // entity = BaseEntity.Create<BaseAreaProvinceMarkEntity>(dr); * entity.Mark = dr["MARK"].ToString(); * entity.Description = dr["DESCRIPTION"].ToString(); * entity.ModifiedBy = this.UserInfo.RealName; * entity.ModifiedUserId = this.UserInfo.Id; * entity.ModifiedOn = DateTime.Now; * this.Update(entity); * } */ SQLBuilder sqlBuilder = new SQLBuilder(dbHelper); if (string.IsNullOrWhiteSpace(dr["MARK"].ToString()) && string.IsNullOrWhiteSpace(dr["DESCRIPTION"].ToString())) { sqlBuilder.BeginDelete("BASEAREA_PROVINCEMARK"); sqlBuilder.SetWhere("Id", dr["Id"].ToString()); sqlBuilder.EndDelete(); // sqlBuilder.PrepareCommand(); // dotNetService.AreaService.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, sqlBuilder.DbParameters, CommandType.Text.ToString()); } else { sqlBuilder.BeginUpdate("BASEAREA_PROVINCEMARK"); sqlBuilder.SetValue("MARK", dr["MARK"].ToString()); sqlBuilder.SetValue("DESCRIPTION", dr["DESCRIPTION"].ToString()); sqlBuilder.SetValue("ModifiedUserId", this.UserInfo.Id); sqlBuilder.SetValue("ModifiedBy", this.UserInfo.RealName); sqlBuilder.SetDBNow("ModifiedOn"); sqlBuilder.SetWhere("ID", dr["Id"].ToString()); sqlBuilder.EndUpdate(); // sqlBuilder.PrepareCommand(); // dotNetService.AreaService.ExecuteNonQuery(UserInfo, sqlBuilder.CommandText, sqlBuilder.DbParameters, CommandType.Text.ToString()); } } } return(result); }