Example #1
0
        public ServiceResult UpdateUserBranch(UserInfoDto user, UserConfigDto userConfig)
        {
            Repository.SaveUserBranch(Mapper.Map <User>(user));
            UserConfigRepository.SaveUserProfile(userConfig.UserID, userConfig.BranchID, IsSuspended: userConfig.IsSuspended);

            return(ServiceResult.CreateSuccessResult());
        }
Example #2
0
        public async Task <IActionResult> AddRoles([FromBody] UserConfigDto roles)
        {
            ///Get user to add roles to.
            var user = _userManager.Users
                       .FirstOrDefault(u => u.Id == roles.UserId);

            //return NotFound if user is null
            if (user == null)
            {
                return(NotFound());
            }
            //Get all available roles.
            var availableRoles = _roleManager.Roles.Select(r => r.Name).ToList();
            //Get user current Roles.
            var currentRoles = await _userManager.GetRolesAsync(user);

            //Loop through the roles to confirm it's possible to add each role.
            var addRoles    = new List <string>();
            var removeRoles = new List <string>();

            availableRoles.ToList().ForEach(r =>
            {
                if (addRoles.Contains(r) && !currentRoles.Contains(r))
                {
                    addRoles.Add(r);
                }
                if (removeRoles.Contains(r) && currentRoles.Contains(r))
                {
                    removeRoles.Add(r);
                }
            });

            var addres = await _userManager.AddToRolesAsync(user, addRoles);

            var remres = await _userManager.RemoveFromRolesAsync(user, removeRoles);

            if (addres.Succeeded && remres.Succeeded)
            {
                return(CreatedAtRoute(
                           nameof(GetUserProfile),
                           new { id = roles.UserId },
                           roles.UserId));
            }
            throw new Exception("Roles failed to be added/removed.");
        }
        public async Task <IActionResult> UserConfig([FromForm] UserConfigDto userConfigDto)
        {
            var user = _userManager.Users                               //get user from dto.
                       .FirstOrDefault(u => u.Id == userConfigDto.UserId);

            if (user == null)                                           //If null return not found.
            {
                return(NotFound());
            }

            var userRoles = await _userManager                          //Get all users roles
                            .GetRolesAsync(user);

            var allRoles = _roleManager.Roles                           //Get all available roles
                           .Select(r => r.Name).ToList();
            var addRoles = new List <string>();                         //a list of roles to add
            var remRoles = new List <string>();                         //a list of roles to remove

            allRoles.ForEach(r =>                                       //Loop through all roles and add to add and rem lists.
            {
                if (userConfigDto.Roles[r] && !userRoles.Contains(r))   //if form roles is true and user isn't assigned role
                {
                    addRoles.Add(r);                                    //add to addRoles list
                }
                if (!userConfigDto.Roles[r] && userRoles.Contains(r))   //if form roles is false and user is assigned role
                {
                    remRoles.Add(r);                                    //add to remRoles list.
                }
            });
            var res1 = await _userManager                               //Add addRoles roles to user and keep result.
                       .AddToRolesAsync(user, addRoles);

            var res2 = await _userManager                               //Rmove remRoles roles from user and keep result.
                       .RemoveFromRolesAsync(user, remRoles);

            if (!res1.Succeeded && !res2.Succeeded)                     //If either failed throw exceptions.
            {
                throw new Exception("Roles failed to be added or removed.");
            }
            user.LockoutEnabled = userConfigDto.Lockout;                //Set lockout to what the form says.
            return(RedirectToAction("Index"));                          //Redirect to Admin dashboard Index.
        }
Example #4
0
        private bool SetSessionData(UserDto user, UserConfigDto userConfig, long branchID)
        {
            List <BranchName> allowBranches;

            if (user.IsSystemAdmin)
            {
                var branchListResult = BranchService.ListAll <BranchName>();
                if (!branchListResult.Success || branchListResult.Data == null)
                {
                    errors = branchListResult.Errors;
                    return(false);
                }
                allowBranches = branchListResult.Data.ToList();
            }
            else
            {
                allowBranches = user.Branches.Select(x => new BranchName(x.ID, x.VNName, x.ENName)).ToList();
            }

            var pages = PageService.GetAccessiblePagesForUser <LanguagePageDto>(user.ID);

            if (!pages.Success || pages.Data == null)
            {
                return(false);
            }

            var listTableHeight = userConfig.ListTableHeight == 0
                                      ? ConstConfig.DefaultHeightForListTable
                                      : userConfig.ListTableHeight;
            var pageSize = userConfig.PageSize <= 0 ? ConstConfig.DefaultPagesize : userConfig.PageSize;
            var theme    = string.IsNullOrEmpty(userConfig.Theme) ? ConfigReader.CurrentTheme : userConfig.Theme;

            SmsCache.UserAccesses.Add(CommonObjects.SessionId, user.ID, user.Username, user.FirstName, user.LastName, Request.UserHostAddress, Request.UserAgent,
                                      branchID, user.IsSystemAdmin, user.UseSystemConfig, userConfig.DefaultAreaID, listTableHeight,
                                      pageSize, theme, allowBranches, pages.Data.Select(x => x.ID).ToList());

            return(true);
        }
Example #5
0
 public ServiceResult UpdateUserBranch(UserInfoDto user, UserConfigDto userConfig)
 {
     return(Management.UpdateUserBranch(user, userConfig));
 }
Example #6
0
        public JsonResult UpdateUserBranch(UserInfoDto user, UserConfigDto userConfig)
        {
            var result = UserService.UpdateUserBranch(user, userConfig);

            return(Json(JsonModel.Create(result)));
        }