示例#1
0
 public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
 {
     if (!SelectedRoles.Any())
     {
         yield return(new ValidationResult("An employee must belong to at least one role."));
     }
 }
示例#2
0
 private void OnDeleteUseRoelButtonClick(object sender, RoutedEventArgs e)
 {
     if (UserRolesList.SelectedItem != null && CustomMessageBox.Ask("确定要删除该用户的角色吗?"))
     {
         SelectedRoles.Remove(UserRolesList.SelectedItem as UserRoleRel);
         UserRolesList.ItemsSource = null;
         UserRolesList.ItemsSource = SelectedRoles;
     }
 }
示例#3
0
        public async Task <ActionResult> Edit([Bind(Include = "Email,Id,Nombre,Apellidos,Cedula,EstacionID")] EditUserViewModel editUser, params string[] SelectedRoles)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.FindByIdAsync(editUser.Id);

                if (user == null)
                {
                    return(HttpNotFound());
                }

                user.UserName   = editUser.Email;
                user.Email      = editUser.Email;
                user.Nombre     = editUser.Nombre;
                user.Apellidos  = editUser.Apellidos;
                user.Cedula     = editUser.Cedula;
                user.EstacionID = editUser.EstacionID;

                var userRoles = await UserManager.GetRolesAsync(user.Id);

                string[] selectedRoles = SelectedRoles;

                SelectedRoles = SelectedRoles ?? new string[] { };

                var result = await UserManager.AddToRolesAsync(user.Id, SelectedRoles.Except(userRoles).ToArray <string>());

                if (!result.Succeeded)
                {
                    ModelState.AddModelError("", result.Errors.First());
                    return(View());
                }
                result = await UserManager.RemoveFromRolesAsync(user.Id, userRoles.Except(SelectedRoles).ToArray <string>());

                if (!result.Succeeded)
                {
                    ModelState.AddModelError("", result.Errors.First());
                    return(View());
                }

                //Si los roles asignados cambiaron
                if (SelectedRoles.Length != userRoles.Count)
                {
                    //enviar correo con cambios al usuario
                    string cuerpo_del_mensaje = "Este correo es para informarle que sus roles dentro del sistema de Administración de Activos fueron cambiados. " +
                                                "Sus roles actuales son los siguientes: Préstamos -" + string.Join(" - ", selectedRoles) + ". " +
                                                "Si usted no posee una cuenta en el sistema por favor ignore este correo.";

                    await UserManager.SendEmailAsync(user.Id, "Sus roles en el sistema han sido cambiados.", cuerpo_del_mensaje);
                }

                return(RedirectToAction("Index"));
            }
            ModelState.AddModelError("", "Something failed.");
            return(View());
        }
示例#4
0
 private void ExecuteRemoveRoleViewCommand()
 {
     try
     {
         SelectedRoles.Remove(SelectedRole);
         FilteredRoles = new ObservableCollection <RoleDTO>(Roles.Except(SelectedRoles));
     }
     catch
     {
         MessageBox.Show("Can't Remove Role");
     }
 }
示例#5
0
 private void ExcuteAddRoleViewCommand()
 {
     try
     {
         SelectedRoles.Add(SelectedRoleToAdd);
         FilteredRoles = new ObservableCollection <RoleDTO>(Roles.Except(SelectedRoles));
     }
     catch
     {
         MessageBox.Show("Can't Save Role");
     }
 }
示例#6
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }

            if (Input.Email != user.Email)
            {
                var setEmailResult = await _userManager.SetEmailAsync(user, Input.Email);

                if (!setEmailResult.Succeeded)
                {
                    throw new ApplicationException($"Unexpected error occurred setting email for user with ID '{user.Id}'.");
                }
            }

            if (Input.PhoneNumber != user.Phone?.Number)
            {
                var setPhoneResult = await _userManager.SetPhoneNumberAsync(user, Input.PhoneNumber);

                if (!setPhoneResult.Succeeded)
                {
                    throw new ApplicationException($"Unexpected error occurred setting phone number for user with ID '{user.Id}'.");
                }
            }

            var existingRoles = await _userManager.GetRolesAsync(user);

            var selectedRoles = SelectedRoles.Where(x => x.Selected).Select(x => x.Value).ToList();
            var rolesToAdd    = selectedRoles.Except(existingRoles).ToList();
            var rolesToRemove = existingRoles.Except(selectedRoles).ToList();

            if (rolesToAdd.Any())
            {
                await _userManager.AddToRolesAsync(user, rolesToAdd);
            }

            if (rolesToRemove.Any())
            {
                await _userManager.RemoveFromRolesAsync(user, rolesToRemove);
            }

            StatusMessage = "Your profile has been updated";
            return(RedirectToPage());
        }
示例#7
0
        public ActionResult AdminUserRolesRegister(SelectedRoles selectedRoles)
        {
            var idUser          = selectedRoles.AdminID;
            var FindedUserAdmin = Context.AdminUsers.FirstOrDefault(p => p.id == idUser);

            FindedUserAdmin.RollAdmins.Clear();
            foreach (var item in selectedRoles.listRoles)
            {
                var theid = item.ID;

                FindedUserAdmin.RollAdmins.Add(Context.RollAdmins.Find(theid));
            }
            Context.SaveChanges();
            return(RedirectToAction("AdminUser"));
        }
示例#8
0
        protected void repRoles_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            DataRow row = SelectedRoles.NewRow();

            row["Name"] = ((Label)repRoles.Items[e.Item.ItemIndex].FindControl("ltrlRoleNM")).Text;
            row["Id"]   = row["Name"];
            this.SelectedRoles.Rows.Add(row);

            ((LinkButton)this.repRoles.Items[e.Item.ItemIndex].FindControl("selectbtn")).Enabled = false;

            this.RepSelected.DataSource = this.SelectedRoles;
            this.RepSelected.DataBind();

            this.repRoles.DataSource = Telerik.Security.UserManager.Default.GetAllRoles();
            this.repRoles.DataBind();
        }
示例#9
0
        private void OnAddUserRoleButtonClick(object sender, RoutedEventArgs e)
        {
            var win = new WindowSelectRole();

            win.Closed += (o, ea) =>
            {
                if (win.DialogResult.HasValue && win.DialogResult.Value)
                {
                    userInfoChanged = true;
                    if (SelectedRoles == null)
                    {
                        SelectedRoles = new List <UserRoleRel>();
                    }
                    foreach (var c in win.SelectedRole)
                    {
                        if (SelectedRoles.Any(uo => uo.RoleId == c.RoleId))
                        {
                            continue;
                        }
                        SelectedRoles.Add(new UserRoleRel
                        {
                            Id             = 0,
                            UserId         = AuthenticateStatus.CurrentUser.UserId,
                            RoleId         = c.RoleId,
                            Role           = c,
                            StartTime      = DateTime.Now.Date,
                            ExpireTime     = DateTime.Now.Date.AddYears(10),
                            CreatedBy      = AuthenticateStatus.CurrentUser.UserId,
                            CreateTime     = DateTime.Now,
                            LastUpdateTime = DateTime.Now,
                            LastUpdatedBy  = AuthenticateStatus.CurrentUser.UserId,
                        });
                    }
                    UserRolesList.ItemsSource = null;
                    UserRolesList.ItemsSource = SelectedRoles;
                }
            };
            win.Show();
        }
示例#10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.TemplateId = new Guid(HttpContext.Current.Request.QueryString["TemplateId"]);
                this.EventId    = new Guid(HttpContext.Current.Request.QueryString["EventId"]);
                this.ModuleId   = new Guid(HttpContext.Current.Request.QueryString["ModuleId"]);
                this.manager    = new DataManager();

                this.SelectedRoles.Clear();
                this.SelectedGroups.Clear();
                foreach (IRecipientRole cuurentRole in manager.GetRecipientRolesRelatedToEvent(ModuleId, EventId, TemplateId))
                {
                    DataRow row = SelectedRoles.NewRow();
                    row["Name"] = cuurentRole.RoleName;
                    row["Id"]   = row["Name"];
                    this.SelectedRoles.Rows.Add(row);
                }
                foreach (IRecipientGroup cuurentGroup in manager.GetRecipientGroupsRelatedToEvent(ModuleId, EventId, TemplateId))
                {
                    DataRow row = this.SelectedGroups.NewRow();
                    row["Name"] = cuurentGroup.Group.GroupName;
                    row["Id"]   = cuurentGroup.Group.GroupId;
                    this.SelectedGroups.Rows.Add(row);
                }
                this.RepSelected.DataSource = this.SelectedRoles;
                this.RepSelected.DataBind();
            }

            // bind to user repeater control
            this.repRoles.DataSource = Telerik.Security.UserManager.Default.GetAllRoles();
            this.repRoles.DataBind();

            manager = new DataManager();
            this.RepGroups.DataSource = manager.GetGroups(string.Empty);
            this.RepGroups.DataBind();

            this.radTabStrip.TabClick += new Telerik.Web.UI.RadTabStripEventHandler(radTabStrip_TabClick);
        }
示例#11
0
    //METHODS
    private void Awake()
    {
        SelectedRoles roles = FindObjectOfType <SelectedRoles> ();

        if (roles == null)
        {
            _selectionNumbers = new int[] { 0 };
        }
        else
        {
            _selectionNumbers = FindObjectOfType <SelectedRoles>().CharacterNumbers;
        }

        for (int i = 0; i < _selectionNumbers.Length; i++)
        {
            if (_selectionNumbers[i] >= 0)
            {
                GameObject player = Instantiate(_characters[_selectionNumbers[i]], new Vector2(_spawns[i].position.x, _spawns[i].position.y), Quaternion.identity);
                player.GetComponent <PersonController>().PlayerNumber = i;
                player.GetComponent <Commander>().PlayerNumber        = i;
            }
        }
    }
示例#12
0
        protected void SelectAllbtn_Click(object sender, EventArgs e)
        {
            if ((LinkButton)sender == SelectAllGroupsbtn)
            {
                IList AllGroups = manager.GetGroups(string.Empty);
                this.SelectedGroups.Clear();
                foreach (IGroup currentGroup in AllGroups)
                {
                    DataRow row = this.SelectedGroups.NewRow();
                    row["Name"] = currentGroup.GroupName;
                    row["Id"]   = currentGroup.GroupId;
                    this.SelectedGroups.Rows.Add(row);
                }
                this.RepSelected.DataSource = this.SelectedGroups;
                this.RepSelected.DataBind();
                this.RepGroups.DataBind();
            }
            else if ((LinkButton)sender == selectAllRolesbtn)
            {
                System.Collections.Generic.List <string> allRoles = new System.Collections.Generic.List <string>();
                allRoles.AddRange(Telerik.Security.UserManager.Default.GetAllRoles());
                this.SelectedRoles.Clear();
                for (int index = 0; index < allRoles.Count; index++)
                {
                    DataRow row = SelectedRoles.NewRow();
                    row["Name"] = allRoles[index];
                    row["Id"]   = row["Name"];
                    this.SelectedRoles.Rows.Add(row);
                }

                this.RepSelected.DataSource = this.SelectedRoles;
                this.RepSelected.DataBind();

                this.repRoles.DataBind();
            }
        }
 private bool IsRoleSelected(string providerRoleKey)
 {
     return(SelectedRoles.IndexOf(providerRoleKey) > -1);
 }