Exemple #1
0
        public ActionResult SaveRole(RoleDto roleDto, [FromUri] bool assignExistUsers = false)
        {
            ActionResult actionResult = new ActionResult();

            try
            {
                Validate(roleDto);
                if (roleDto.Id == 0)
                {
                    roleDto.Id = Null.NullInteger;
                }
                RolesController.Instance.SaveRole(PortalSettings, roleDto, assignExistUsers, out KeyValuePair <HttpStatusCode, string> message);
                if (!string.IsNullOrEmpty(message.Value))
                {
                    actionResult.AddError(message.Key.ToString(), message.Value);
                }

                if (actionResult.IsSuccess)
                {
                    actionResult.Data = new { RoleGroupManager.GetGroupRoles(new RoleDto {
                            GroupId = roleDto.GroupId
                        }).Roles, RoleGroups = RoleGroupManager.GetRoleGroup(PortalSettings.Current.PortalId) };
                }
            }
            catch (ArgumentException ex)
            {
                actionResult.AddError("HttpStatusCode.BadRequest", ex.Message);
            }
            catch (SecurityException ex)
            {
                actionResult.AddError("HttpStatusCode.BadRequest", ex.Message);
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                actionResult.AddError("HttpStatusCode.InternalServerError", ex.Message);
            }

            return(actionResult);
        }
Exemple #2
0
        internal static List <IUIData> GetData(UserInfo userInfo, string identifier, Dictionary <string, string> parameters)
        {
            RoleController rc = new RoleController();
            Dictionary <string, IUIData> Settings = new Dictionary <string, IUIData>();

            switch (identifier)
            {
            case "setting_roles":
            {
                dynamic RoleGroup            = RoleGroupManager.GetRoleGroup(userInfo.PortalID);
                string  DefaultRoleGroup     = "-2";
                string  DefaultRoleGroupName = string.Empty;
                Settings.Add("RoleGroup", new UIData {
                        Name = "RoleGroup", Options = RoleGroup, OptionsText = "Name", OptionsValue = "GroupId", Value = DefaultRoleGroup
                    });
                Settings.Add("Roles", new UIData {
                        Name = "Roles", Value = "", Options = RoleGroupManager.GetGroupRoles(new RoleDto {
                            GroupId = int.Parse(DefaultRoleGroup)
                        })
                    });
                Settings.Add("Working_RoleDto", new UIData {
                        Name = "Working_RoleDto", Value = "", Options = new RoleDto()
                    });
                Settings.Add("Working_RoleGroupDto", new UIData {
                        Name = "Working_RoleGroupDto", Value = "", Options = new RoleGroupDto()
                    });
                Settings.Add("GroupName", new UIData {
                        Name = "GroupName", Value = DefaultRoleGroupName
                    });

                break;
            }

            case "setting_add":
            {
                int?rid = null;
                if (parameters.Count > 0)
                {
                    rid = int.Parse(parameters["rid"]);
                }

                if (rid.HasValue)
                {
                    Settings.Add("Working_RoleDto", new UIData {
                            Name = "Working_RoleDto", Value = "", Options = RoleManager.GetRole(userInfo.PortalID, rid.Value)
                        });
                }
                else
                {
                    Settings.Add("Working_RoleDto", new UIData {
                            Name = "Working_RoleDto", Value = "", Options = new RoleDto {
                                Status = RoleStatus.Approved, GroupId = -1, SecurityMode = SecurityMode.SecurityRole
                            }
                        });
                }

                Settings.Add("RoleGroup", new UIData {
                        Name = "RoleGroup", Options = RoleGroupManager.GetRoleGroup(userInfo.PortalID), OptionsText = "Name", OptionsValue = "GroupId", Value = "-1"
                    });
                Settings.Add("Status", new UIData {
                        Name = "Status", Options = Factories.AppFactory.GetLocalizedEnumOption(typeof(RoleStatus)), OptionsText = "Key", OptionsValue = "Value", Value = "1"
                    });
                Settings.Add("SecurityMode", new UIData {
                        Name = "SecurityMode", Options = Factories.AppFactory.GetLocalizedEnumOption(typeof(SecurityMode)), OptionsText = "Key", OptionsValue = "Value", Value = "0"
                    });
                Settings.Add("Working_RoleGroupDto", new UIData {
                        Name = "Working_RoleGroupDto", Value = "", Options = new RoleGroupDto()
                    });
                break;
            }

            case "setting_adduser":
            {
                string keyword = string.Empty;
                int    rid     = 0;
                if (parameters.Count > 0)
                {
                    rid = int.Parse(parameters["rid"]);
                }


                if (rid > 0)
                {
                    Settings.Add("Working_RoleDto", new UIData {
                            Name = "Working_RoleDto", Value = "", Options = RoleManager.GetRole(userInfo.PortalID, rid)
                        });
                }
                else
                {
                    Settings.Add("Working_RoleDto", new UIData {
                            Name = "Working_RoleDto", Value = "", Options = new RoleDto {
                                Status = RoleStatus.Approved, GroupId = -1, SecurityMode = SecurityMode.SecurityRole
                            }
                        });
                }

                Settings.Add("Working_UserRole", new UIData {
                        Name = "Working_UserRole", Value = "", Options = new UserRoleInfoDTO {
                        }
                    });
                Settings.Add("UserRole", new UIData {
                        Name = "UserRole", Value = "", Options = new List <UserRoleInfoDTO>()
                    });
                Settings.Add("AllUsers", new UIData {
                        Name = "AllUsers", Value = "", Options = null
                    });
                break;
            }
            }
            return(Settings.Values.ToList());
        }
 public dynamic GetGroupRoles(string keyword, int startIndex, int pageSize, RoleDto GroupRoles)
 {
     return(RoleGroupManager.GetGroupRoles(GroupRoles, keyword, startIndex, pageSize));
 }