/// <summary> /// 事务操作 /// </summary> /// <param name="models"></param> /// <returns></returns> public OperationResult TranMethod(Dictionary <EntityBase, EntityState> models) { string exMsg = string.Empty; try { using (iCMSDbContext ctx = new iCMSDbContext()) { foreach (var model in models) { ctx.Entry(model.Key).State = model.Value; } ctx.SaveChanges(); return(new OperationResult(EnumOperationResultType.Success, "操作成功!")); } } catch (Exception ex) { exMsg = ex.Message; } finally { // Context.Configuration.AutoDetectChangesEnabled = true; } return(new OperationResult(EnumOperationResultType.Error, exMsg)); }
/// <summary> /// 角色添加 /// 修改人:张辽阔 /// 修改时间:2016-11-08 /// 修改记录:修改IsDeault和IsShow的值 /// /// 修改人:王龙杰 /// 修改时间:2017-10-13 /// 修改记录:添加角色同时添加角色附权 /// </summary> /// <param name="Parameter"></param> /// <returns></returns> public BaseResponse <bool> AddRoleInfo(AddRoleParameter Parameter) { BaseResponse <bool> result = new BaseResponse <bool>(); try { using (iCMSDbContext dataContext = new iCMSDbContext()) { Validate validate = new Validate(userRepository, roleRepository); result = validate.ValidateAddRoleParams(Parameter); if (!result.IsSuccessful) { return(result); } Role role = new Role() { AddDate = DateTime.Now, RoleName = Parameter.RoleName, RoleCode = Parameter.RoleCode, //张辽阔 2016-11-08 修改 IsDeault = Parameter.IsDeault, IsShow = Parameter.IsShow, }; OperationResult operationResult = dataContext.Role.AddNew <Role>(dataContext, role); if (operationResult.ResultType == EnumOperationResultType.Success) { //添加角色附权 王龙杰 2017-10-13 dataContext.Configuration.AutoDetectChangesEnabled = false; var addRoleModuleList = (from p in Parameter.Module select new RoleModule { RoleCode = Parameter.RoleCode, ModuleCode = p, }); foreach (var item in addRoleModuleList) { dataContext.Entry(item).State = EntityState.Added; } dataContext.SaveChanges(); result.IsSuccessful = true; return(result); } else { result.IsSuccessful = false; result.Code = "003961"; return(result); } } } catch (Exception e) { LogHelper.WriteLog(e); result.IsSuccessful = false; result.Code = "003961"; return(result); } }
/// <summary> /// 批量删除 /// </summary> /// <typeparam name="TEntity"> 要注册的类型 </typeparam> /// <param name="entities"> 要注册的对象集合 </param> public virtual OperationResult Delete <TEntity>(IEnumerable <TEntity> entities) where TEntity : EntityBase { string exMsg = string.Empty; try { using (iCMSDbContext ctx = new iCMSDbContext()) { foreach (TEntity entity in entities) { ctx.Entry(entity).State = EntityState.Deleted; } ctx.SaveChanges(); return(new OperationResult(EnumOperationResultType.Success, "操作成功!")); } } catch (Exception ex) { exMsg = ex.Message; } finally { // Context.Configuration.AutoDetectChangesEnabled = true; } return(new OperationResult(EnumOperationResultType.Error, exMsg)); }
/// <summary> /// add by masu 2016年3月17日09:10:11 批量更新 /// </summary> /// <typeparam name="TEntity"> 要注册的类型 </typeparam> /// <param name="entity"> 要注册的对象 </param> public virtual OperationResult Update <TEntity>(IEnumerable <TEntity> entities) where TEntity : EntityBase { string exMsg = string.Empty; try { using (iCMSDbContext ctx = new iCMSDbContext()) { // EntityState state; //不跟踪变化,提高效率 ctx.Configuration.AutoDetectChangesEnabled = false; foreach (TEntity entity in entities) { if (ctx.Entry(entity).State == EntityState.Detached) { ctx.Entry(entity).State = EntityState.Modified; } } ctx.SaveChanges(); return(new OperationResult(EnumOperationResultType.Success, "操作成功!")); } } catch (Exception ex) { exMsg = ex.Message; } return(new OperationResult(EnumOperationResultType.Error, exMsg)); }
/// <summary> /// 角色赋权 /// </summary> /// <param name="Parameter"></param> /// <returns></returns> public BaseResponse <bool> RoleAuthorization(RoleAuthorizationParameter Parameter) { BaseResponse <bool> result = new BaseResponse <bool>(); try { if (Parameter.Module == null) { Parameter.Module = new List <string>(); } Validate validate = new Validate(userRepository, roleRepository); result = validate.ValidateRoleAuthorizationParameter(Parameter.RoleCode); if (!result.IsSuccessful) { return(result); } using (var dataContext = new iCMSDbContext()) { dataContext.Configuration.AutoDetectChangesEnabled = false; var roleModuleList = (from p in dataContext.RoleModule where p.RoleCode == Parameter.RoleCode select p); foreach (var item in roleModuleList) { dataContext.Entry(item).State = EntityState.Deleted; } var addRoleModuleList = (from p in Parameter.Module select new RoleModule { RoleCode = Parameter.RoleCode, ModuleCode = p, }); foreach (var item in addRoleModuleList) { dataContext.Entry(item).State = EntityState.Added; } dataContext.SaveChanges(); } result.IsSuccessful = true; return(result); } catch (Exception e) { LogHelper.WriteLog(e); result.IsSuccessful = false; result.Code = "004021"; return(result); } }
/// <summary> /// 创建人:张辽阔 /// 创建时间:2016-10-27 /// 创建记录:删除多条数据 /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="source"></param> /// <param name="entities">要删除的对象集合</param> /// <returns></returns> public static OperationResult Delete <TEntity>(this DbSet <TEntity> source, iCMSDbContext context, IEnumerable <TEntity> entities) where TEntity : EntityBase { //不跟踪变化,提高效率 context.Configuration.AutoDetectChangesEnabled = false; foreach (TEntity entity in entities) { context.Entry(entity).State = EntityState.Deleted; } context.SaveChanges(); return(new OperationResult(EnumOperationResultType.Success, "操作成功!")); }
/// <summary> /// 更新 /// </summary> /// <typeparam name="TEntity"> 要注册的类型 </typeparam> /// <param name="entity"> 要注册的对象 </param> public virtual OperationResult Update <TEntity>(TEntity entity) where TEntity : EntityBase { string exMsg = string.Empty; try { using (iCMSDbContext ctx = new iCMSDbContext()) { if (ctx.Entry(entity).State == EntityState.Detached) { ctx.Set <TEntity>().Attach(entity); } ctx.Entry(entity).State = EntityState.Modified; ctx.SaveChanges(); //try //{ // #region 云推送添加 // BaseCloudService cloud = BaseCloudService.GetInstance(); // cloud.SyncInfo(entity, EnumCloudDataOperation.Update); // #endregion //} //catch (Exception ex) //{ // LogHelper.WriteLog(ex); //} //finally //{ //} #region 云平台修改 Multi Thread //Thread thread = new Thread(YunyiThreadHelper.YunyiUpdate); //thread.Start(entity); #endregion return(new OperationResult(EnumOperationResultType.Success, "操作成功!")); } } catch (Exception ex) { exMsg = ex.Message; } return(new OperationResult(EnumOperationResultType.Error, exMsg)); }
/// <summary> /// 删除 /// </summary> /// <typeparam name="TEntity"> 要注册的类型 </typeparam> /// <param name="entity"> 要注册的对象 </param> public virtual OperationResult Delete <TEntity>(TEntity entity) where TEntity : EntityBase { string exMsg = string.Empty; try { using (iCMSDbContext ctx = new iCMSDbContext()) { ctx.Entry(entity).State = EntityState.Deleted; ctx.SaveChanges(); return(new OperationResult(EnumOperationResultType.Success, "操作成功!")); } } catch (Exception ex) { exMsg = ex.Message; } return(new OperationResult(EnumOperationResultType.Error, exMsg)); }
/// <summary> /// 角色编辑 /// 修改人:张辽阔 /// 修改时间:2016-11-08 /// 修改记录:修改IsDeault和IsShow的值 /// /// 修改人:王龙杰 /// 修改时间:2017-10-13 /// 修改记录:编辑角色同时添加角色附权 /// </summary> /// <param name="Parameter"></param> /// <returns></returns> public BaseResponse <bool> EditRoleInfo(EditRoleParameter Parameter) { BaseResponse <bool> result = new BaseResponse <bool>(); try { #region 验证角色是否已经被使用,如果已经被使用,则不能进行角色隐藏 王颖辉 2018-01-18 var role = roleRepository.GetByKey(Parameter.RoleID); if (role == null) { result.IsSuccessful = false; result.Code = "010092"; return(result); } //如果本次修改为隐藏,而且角色被使用,则不能进行隐藏 if (role.IsShow != Parameter.IsShow && role.IsShow == 1) { var isExist = userRepository.GetDatas <User>(item => item.RoleID == role.RoleID, true).Any(); if (isExist) { result.IsSuccessful = false; result.Code = "010102"; return(result); } } #endregion using (iCMSDbContext dataContext = new iCMSDbContext()) { Validate validate = new Validate(userRepository, roleRepository); result = validate.ValidateEditRoleParams(Parameter); if (!result.IsSuccessful) { return(result); } Role tempRoleObj = dataContext.Role .GetDatas <Role>(dataContext, p => p.RoleID == Parameter.RoleID) .FirstOrDefault(); tempRoleObj.RoleName = Parameter.RoleName; //张辽阔 2016-11-08 添加 tempRoleObj.IsDeault = Parameter.IsDeault; tempRoleObj.IsShow = Parameter.IsShow; OperationResult operationResult = dataContext.Role.Update <Role>(dataContext, tempRoleObj); if (operationResult.ResultType == EnumOperationResultType.Success) { //修改角色附权 王龙杰 2017-10-13 dataContext.Configuration.AutoDetectChangesEnabled = false; var roleModuleList = (from p in dataContext.RoleModule where p.RoleCode == tempRoleObj.RoleCode select p); foreach (var item in roleModuleList) { dataContext.Entry(item).State = EntityState.Deleted; } var addRoleModuleList = (from p in Parameter.Module select new RoleModule { RoleCode = tempRoleObj.RoleCode, ModuleCode = p, }); foreach (var item in addRoleModuleList) { dataContext.Entry(item).State = EntityState.Added; } dataContext.SaveChanges(); result.IsSuccessful = true; return(result); } else { result.IsSuccessful = false; result.Code = "003971"; return(result); } } } catch (Exception e) { LogHelper.WriteLog(e); result.IsSuccessful = false; result.Code = "003971"; return(result); } }
/// <summary> /// 创建人:张辽阔 /// 创建时间:2016-10-27 /// 创建记录:删除一条数据 /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="source"></param> /// <param name="entity">要删除的对象</param> /// <returns></returns> public static OperationResult Delete <TEntity>(this DbSet <TEntity> source, iCMSDbContext context, TEntity entity) where TEntity : EntityBase { context.Entry(entity).State = EntityState.Deleted; context.SaveChanges(); return(new OperationResult(EnumOperationResultType.Success, "操作成功!")); }