protected virtual PagedViewModel <EmployeeListViewModel> GetFilteredPaged( string includeProperties = null, int page = 1, int pageSize = ConstWebApi.DefaultPageSize, string sort = null, string dir = "", Expression <Func <ApplicationUser, bool> > filter = null) { var isAdmin = _permissionService.UserHasPermission(GetUserAndOrganization(), AdministrationPermissions.ApplicationUser); string sortQuery = string.IsNullOrEmpty(sort) ? null : $"{sort} {dir}"; IPagedList <ApplicationUser> models = _applicationUserRepository.Get( includeProperties: includeProperties, filter: filter, orderBy: sortQuery ?? null) .Where(_roleService.ExcludeUsersWithRole(Roles.NewUser)) .ToPagedList(page, pageSize); var pagedVM = new StaticPagedList <EmployeeListViewModel>(_mapper.Map <IEnumerable <ApplicationUser>, IEnumerable <EmployeeListViewModel> >(models), models.PageNumber, models.PageSize, models.TotalItemCount); if (!isAdmin) { foreach (var model in pagedVM) { model.BirthDay = BirthdayDateTimeHelper.RemoveYear(model.BirthDay); model.PhoneNumber = null; } } var result = new PagedViewModel <EmployeeListViewModel> { PagedList = pagedVM, PageCount = pagedVM.PageCount, ItemCount = pagedVM.TotalItemCount, PageSize = pageSize }; return(result); }
private void InfoWithAdditionalPermissions(ApplicationUser user, ApplicationUserDetailsViewModel model) { var isAdmin = _permissionService.UserHasPermission(GetUserAndOrganization(), AdministrationPermissions.ApplicationUser); var usersProfile = User.Identity.GetUserId() == user.Id; if (isAdmin) { var roles = GetUserRoles(user.Id); model.Roles = _mapper.Map <IEnumerable <ApplicationRoleMiniViewModel> >(roles); } if (!isAdmin && !usersProfile) { model.BirthDay = BirthdayDateTimeHelper.RemoveYear(model.BirthDay); model.PhoneNumber = null; } }
private async Task <PagedViewModel <EmployeeListViewModel> > GetFilteredPaged(string includeProperties = null, int page = 1, int pageSize = WebApiConstants.DefaultPageSize, string sort = null, string dir = "", Expression <Func <ApplicationUser, bool> > filter = null) { var isAdmin = await _permissionService.UserHasPermissionAsync(GetUserAndOrganization(), AdministrationPermissions.ApplicationUser); var newUserRoleId = await _roleService.GetRoleIdByNameAsync(Roles.NewUser); var sortQuery = string.IsNullOrEmpty(sort) ? null : $"{sort} {dir}"; var models = await _applicationUserRepository .Get(includeProperties : includeProperties, filter : filter, orderBy : sortQuery) .Where(_roleService.ExcludeUsersWithRole(newUserRoleId)) .ToPagedListAsync(page, pageSize); var employeeListViewModels = _mapper.Map <IEnumerable <ApplicationUser>, IEnumerable <EmployeeListViewModel> >(models); var pagedModel = new StaticPagedList <EmployeeListViewModel>(employeeListViewModels, models.PageNumber, models.PageSize, models.TotalItemCount); if (!isAdmin) { foreach (var model in pagedModel) { model.BirthDay = BirthdayDateTimeHelper.RemoveYear(model.BirthDay); model.PhoneNumber = null; } } var result = new PagedViewModel <EmployeeListViewModel> { PagedList = pagedModel, PageCount = pagedModel.PageCount, ItemCount = pagedModel.TotalItemCount, PageSize = pageSize }; return(result); }