Example #1
0
        public async Task <ActionResult> AddUserRole(UsersRolesDto Data)
        {
            var userRoles = await UserManager.GetRolesAsync(Data.UsersId);

            var taskResult = new TaskResult <UsersRolesDto>
            {
                Data = Data
            };

            var roles = await _rolesRepository.GetAllAsync();

            ViewBag.Roles = roles.Data.Select(r => new SelectListItem {
                Text = r.Name, Value = r.Name
            }).ToList();

            var users = await _customerRepository.GetAllAsync();

            ViewBag.Users = users.Data.Select(u => new SelectListItem {
                Text = u.Email, Value = u.Id
            }).ToList();

            if (userRoles.Any())
            {
                var removedResult = await UserManager.RemoveFromRoleAsync(Data.UsersId, userRoles.FirstOrDefault());

                if (!removedResult.Succeeded)
                {
                    taskResult.Message = String.Join(", ", removedResult.Errors);
                    taskResult.Success = false;

                    return(View(taskResult));
                }
            }

            var result = await UserManager.AddToRoleAsync(Data.UsersId, Data.RoleName);

            if (result.Succeeded)
            {
                taskResult.Message = "Se agregó el role correctamente";
            }
            else
            {
                taskResult.Success = false;
                taskResult.Message = String.Join(", ", result.Errors);
            }



            return(View(taskResult));
        }
Example #2
0
        public async Task <ActionResult> UserRoleModal(UsersRolesDto usersRolesDto)
        {
            var user = await _customerRepository.GetAsync(usersRolesDto.UsersId);

            var model    = new TaskResult <UsersRolesDto>();
            var userRole = await _rolesRepository.GetUserRolesAsync(usersRolesDto.RolesId, UserManager);

            model.Data.RolesId  = userRole.Data[0].Id;
            model.Data.Name     = user.Data.Name;
            model.Data.LastName = user.Data.LastName;

            var roles = await _rolesRepository.GetAllAsync();

            ViewBag.Roles = roles.Data.Select(r => new SelectListItem {
                Text = r.Name, Value = r.Name
            }).ToList();

            return(PartialView("_userRoleModal", model));
        }