Beispiel #1
0
        /// <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>
        /// 创建人:张辽阔
        /// 创建时间:2016-07-26
        /// 创建记录:验证“添加角色信息”的参数是否有效
        /// </summary>
        /// <param name="roleJSONStr">角色JSON字符串</param>
        /// <returns></returns>
        internal BaseResponse <bool> ValidateAddRoleParams(AddRoleParameter role)
        {
            BaseResponse <bool> result = new BaseResponse <bool>();

            if (role == null)
            {
                result.IsSuccessful = false;
                result.Code         = "004382";
                return(result);
            }
            if (string.IsNullOrEmpty(role.RoleName))
            {
                result.IsSuccessful = false;
                result.Code         = "004392";
                return(result);
            }

            if (roleRepository.GetDatas <Role>(p => p.RoleName.Equals(role.RoleName), true).Any())
            {
                result.IsSuccessful = false;
                result.Code         = "004402";
                return(result);
            }
            result.IsSuccessful = true;

            return(result);
        }
Beispiel #3
0
 /// <summary>
 /// 角色添加
 /// </summary>
 /// <param name="Parameter"></param>
 /// <returns></returns>
 public BaseResponse <bool> RoleInfoAdd(AddRoleParameter Parameter)
 {
     if (ValidateData <AddRoleParameter>(Parameter))
     {
         return(roleManager.AddRoleInfo(Parameter));
     }
     else
     {
         BaseResponse <bool> result = new BaseResponse <bool>();
         result.IsSuccessful = false;
         result.Code         = "001261";
         LogHelper.WriteLog(string.Format("未通过安全验证:({0}:{1}", result.Code, result.Reason));
         return(result);
     }
 }