public async Task <IActionResult> DeleteUserFromRole(UserToRolesViewModel model)
        {
            string message = string.Empty;

            try
            {
                ApplicationUser user = await _userManager.FindByIdAsync(model.UserID);

                var result = await _userManager.RemoveFromRoleAsync(user, model.RoleName);

                if (result.Succeeded)
                {
                    message = AccountOptions.API_Response_Success;
                }
                else
                {
                    message = AccountOptions.API_Response_Failed;
                }
            }
            catch (Exception ex)
            {
                message = AccountOptions.API_Response_Exception;
            }
            return(Ok(new
            {
                Status = message
            }));
        }
Beispiel #2
0
        public async Task <List <UserViewModel> > GetUsersByRole(string rid)
        {
            var result  = new UserToRolesViewModel();
            var getuser = await(from ur in _context.UserRoles
                                join u in _context.Users on ur.UserId equals u.Id
                                join r in _context.Roles on ur.RoleId equals r.Id
                                where r.Id == rid
                                select new UserViewModel
            {
                UserID      = u.Id,
                Email       = u.Email,
                FirstName   = u.FirstName,
                LastName    = u.LastName,
                TenanntCode = u.TenantCode,
            }).ToListAsync();

            return(getuser);
        }
Beispiel #3
0
        public async Task <IActionResult> SaveUserRoles(UserToRolesViewModel model)
        {
            string responseCode    = string.Empty;
            string responseMessage = string.Empty;

            try
            {
                var role = await _roleManager.FindByIdAsync(model.RoleID);

                var previoususers = await GetUsersByRole(model.RoleID);

                foreach (var item in previoususers)
                {
                    _context.UserRoles.Remove(new IdentityUserRole <string> {
                        RoleId = model.RoleID, UserId = item.UserID
                    });
                    _context.SaveChanges();
                }
                foreach (var item in model.SelectedUsers)
                {
                    var getuser = await _userManager.FindByNameAsync(item);

                    _context.UserRoles.Add(new IdentityUserRole <string> {
                        RoleId = model.RoleID, UserId = getuser.Id
                    });
                    _context.SaveChanges();
                }
                responseCode    = "Saved";
                responseMessage = string.Format(AccountOptions.API_Response_Saved, "User Role");
            }
            catch (Exception ex)
            {
                responseCode    = "Error";
                responseMessage = string.Format(AccountOptions.API_Response_Saved, ex.Message);
            }

            return(Ok(new
            {
                MessageCode = responseCode,
                MessageDetails = responseMessage
            }));;
        }
        public async Task <IActionResult> SaveUserRoles(UserToRolesViewModel model)
        {
            string message = string.Empty;

            try
            {
                var user = await _userManager.FindByIdAsync(model.UserID);

                var previousroles = await _userManager.GetRolesAsync(user);

                var removeroles = await _userManager.RemoveFromRolesAsync(user, previousroles);

                if (removeroles.Succeeded)
                {
                    var result = await _userManager.AddToRolesAsync(user, model.Roles);

                    if (result.Succeeded)
                    {
                        message = AccountOptions.API_Response_Saved;
                    }
                    else
                    {
                        message = AccountOptions.API_Response_Failed;
                    }
                }
                else
                {
                    message = AccountOptions.API_Response_Failed;
                }
            }
            catch (Exception ex)
            {
                message = AccountOptions.API_Response_Exception;
            }
            return(Ok(new
            {
                Status = message
            }));
        }