Example #1
0
        public ModifyRoleResponse ModifyRole(ModifyRoleRequest request)
        {
            ModifyRoleResponse response = new ModifyRoleResponse();

            Role role = _roleRepository
                        .FindBy(request.RoleId);

            role.Id          = request.RoleId;
            role.RoleName    = request.RoleName;
            role.Description = request.Description;
            role.Permissions = request.Permissions.ConvertToPermissions();
            role.Users       = request.Users.ConvertToUsers();


            if (role.GetBrokenRules().Count() > 0)
            {
                response.Errors = role.GetBrokenRules().ToList();
            }
            else
            {
                try {
                    _roleRepository.Save(role);
                    _uow.Commit();
                    response.Errors = new List <BusinessRule>();
                } catch (Exception ex)
                {
                    response.Errors = new List <BusinessRule>();
                    response.Errors.Add(new BusinessRule("DAL", "DAL_ERROR: " + ex.Message));
                }
            }


            return(response);
        }
        public JsonResult Update(RoleDetailView vm)
        {
            GetRoleRequest request = new GetRoleRequest();

            request.RoleId = vm.RoleId;

            ModifyRoleRequest updateRequest = _roleService.GetRole(request).Role.ConvertToModifyRoleRequest();

            updateRequest.RoleId      = vm.RoleId;
            updateRequest.RoleName    = vm.RoleName;
            updateRequest.Description = vm.Description;

            ModifyRoleResponse response = _roleService.ModifyRole(updateRequest);

            return(Json(response));
        }
Example #3
0
        public IHttpActionResult AddNewRole(ModifyRoleRequest model)
        {
            ResponseBase <RoleModel> response = new ResponseBase <RoleModel>()
            {
                IsSuccess      = true,
                MessageCode    = (int)ApiBaseErrorCode.API_SUCCESS,
                MessageContent = ApiBaseErrorCode.API_SUCCESS.ToString()
            };

            if (model.MenuSerials == null ||
                string.IsNullOrWhiteSpace(model.RoleName) ||
                string.IsNullOrWhiteSpace(model.ProjectGuid))
            {
                response.IsSuccess      = false;
                response.MessageCode    = (int)ApiBaseErrorCode.API_PARAM_ERROR;
                response.MessageContent = "必要参数缺失,请检查";
                return(Ok(response));
            }

            //组建权限字符串
            string    privilegeStr = "";
            MenuModel menumodel    = menumanager.GetMenu(model.ProjectGuid);

            if (menumodel != null)
            {
                foreach (MenuDetialModel item in menumodel.MenuList)
                {
                    string menuSerial = item.MenuSerial.PadLeft(3, '0');
                    if (model.MenuSerials.Exists(o => o == menuSerial))
                    {
                        privilegeStr += (menuSerial + "1");
                    }
                    else
                    {
                        privilegeStr += (menuSerial + "0");
                    }
                }
            }

            //授权停车场编号集合
            string parkingCodeStr = "";

            if (model.ParkingCodeList != null)
            {
                foreach (string item in model.ParkingCodeList)
                {
                    parkingCodeStr += item + ",";
                }
                parkingCodeStr = parkingCodeStr.TrimEnd(',');
            }

            RolePermissionModel content = new RolePermissionModel()
            {
                Guid            = Guid.NewGuid().ToString("N"),
                ProjectGuid     = model.ProjectGuid,
                RoleName        = model.RoleName,
                ContentDetial   = privilegeStr,
                ParkingCodeList = parkingCodeStr
            };

            if (!rolemanager.AddRole(content))
            {
                response.IsSuccess      = false;
                response.MessageCode    = (int)ApiBaseErrorCode.API_FAIL;
                response.MessageContent = ApiBaseErrorCode.API_FAIL.ToString();
            }
            response.Result = new RoleModel()
            {
                Guid = content.Guid, RoleName = content.RoleName
            };
            return(Ok(response));
        }
Example #4
0
        public IHttpActionResult ModifyRole(ModifyRoleRequest model)
        {
            ResponseBaseCommon response = new ResponseBaseCommon()
            {
                IsSuccess      = true,
                MessageCode    = (int)ApiBaseErrorCode.API_SUCCESS,
                MessageContent = ApiBaseErrorCode.API_SUCCESS.ToString()
            };

            if (model.MenuSerials == null ||
                string.IsNullOrWhiteSpace(model.RoleName) ||
                string.IsNullOrWhiteSpace(model.Guid) ||
                string.IsNullOrWhiteSpace(model.ProjectGuid))
            {
                response.IsSuccess      = false;
                response.MessageCode    = (int)ApiBaseErrorCode.API_PARAM_ERROR;
                response.MessageContent = "必要参数缺失,请检查";
                return(Ok(response));
            }

            RolePermissionModel content = rolemanager.GetRole(model.Guid);

            if (content != null)
            {
                if (content.ProjectGuid == model.ProjectGuid)
                {
                    //组建权限字符串
                    string    privilegeStr = "";
                    MenuModel menumodel    = menumanager.GetMenu(model.ProjectGuid);
                    if (menumodel != null)
                    {
                        foreach (MenuDetialModel item in menumodel.MenuList)
                        {
                            string menuSerial = item.MenuSerial.PadLeft(3, '0');
                            if (model.MenuSerials.Exists(o => o == menuSerial))
                            {
                                privilegeStr += (menuSerial + "1");
                            }
                            else
                            {
                                privilegeStr += (menuSerial + "0");
                            }
                        }
                    }

                    //授权停车场编号集合
                    string parkingCodeStr = "";
                    if (model.ParkingCodeList != null)
                    {
                        foreach (string item in model.ParkingCodeList)
                        {
                            parkingCodeStr += item + ",";
                        }
                        parkingCodeStr = parkingCodeStr.TrimEnd(',');
                    }


                    content.RoleName        = model.RoleName;
                    content.ContentDetial   = privilegeStr;
                    content.ParkingCodeList = parkingCodeStr;
                    if (!rolemanager.ModifyRole(content))
                    {
                        response.IsSuccess      = false;
                        response.MessageCode    = (int)ApiBaseErrorCode.API_FAIL;
                        response.MessageContent = ApiBaseErrorCode.API_FAIL.ToString();
                    }
                }
                else
                {
                    response.IsSuccess      = false;
                    response.MessageCode    = (int)ApiBaseErrorCode.API_INTERFACENAME_ERROR;
                    response.MessageContent = ApiBaseErrorCode.API_INTERFACENAME_ERROR.ToString();
                }
            }
            else
            {
                response.IsSuccess      = false;
                response.MessageCode    = (int)ApiPersonnelErrorCode.API_DATA_NULL_ERROR;
                response.MessageContent = ApiPersonnelErrorCode.API_DATA_NULL_ERROR.ToString();
            }
            return(Ok(response));
        }