public async Task <PagedResultDto <GetRoleMapperForViewDto> > GetAll(GetAllRoleMappersInput input) { var filteredRoleMappers = _roleMapperRepository.GetAll() .WhereIf(!string.IsNullOrWhiteSpace(input.Filter), e => false) .WhereIf(input.MinRoleIdFilter != null, e => e.RoleId >= input.MinRoleIdFilter) .WhereIf(input.MaxRoleIdFilter != null, e => e.RoleId <= input.MaxRoleIdFilter) .WhereIf(input.MinLabelIdFilter != null, e => e.LabelId >= input.MinLabelIdFilter) .WhereIf(input.MaxLabelIdFilter != null, e => e.LabelId <= input.MaxLabelIdFilter) .WhereIf(input.MinMenuIdFilter != null, e => e.MenuId >= input.MinMenuIdFilter) .WhereIf(input.MaxMenuIdFilter != null, e => e.MenuId <= input.MaxMenuIdFilter) .WhereIf(input.IsActiveFilter > -1, e => (input.IsActiveFilter == 1 && e.IsActive) || (input.IsActiveFilter == 0 && !e.IsActive)); var pagedAndFilteredRoleMappers = filteredRoleMappers .OrderBy(input.Sorting ?? "id asc") .PageBy(input); var lbls = _labelRepository.GetAll(); var roles = _roleRepository.GetAll(); var roleMappers = from o in pagedAndFilteredRoleMappers join lbl in lbls on o.LabelId equals lbl.Id into lblJoin from joinelbl in lblJoin.DefaultIfEmpty() join role in roles on o.RoleId equals role.Id into roleJoin from joinerole in roleJoin.DefaultIfEmpty() select new GetRoleMapperForViewDto() { RoleMapper = new RoleMapperDto { RoleId = o.RoleId, Name = o.Name, LabelId = o.LabelId, MenuId = o.MenuId, IsActive = o.IsActive, Id = o.Id }, LabelNameValue = joinelbl == null ? "" : joinelbl.Name.ToString(), RoleNameValue = joinerole == null ? "" : joinerole.DisplayName.ToString(), }; var totalCount = await filteredRoleMappers.CountAsync(); return(new PagedResultDto <GetRoleMapperForViewDto>( totalCount, await roleMappers.ToListAsync() )); }
public async Task <PagedResultDto <GetRoleMapperForViewDto> > GetAll(GetAllRoleMappersInput input) { var filteredRoleMappers = _roleMapperRepository.GetAll() .WhereIf(!string.IsNullOrWhiteSpace(input.Filter), e => false) .WhereIf(input.MinRoleIdFilter != null, e => e.RoleId >= input.MinRoleIdFilter) .WhereIf(input.MaxRoleIdFilter != null, e => e.RoleId <= input.MaxRoleIdFilter) .WhereIf(input.MinLabelIdFilter != null, e => e.LabelId >= input.MinLabelIdFilter) .WhereIf(input.MaxLabelIdFilter != null, e => e.LabelId <= input.MaxLabelIdFilter) .WhereIf(input.MinMenuIdFilter != null, e => e.MenuId >= input.MinMenuIdFilter) .WhereIf(input.MaxMenuIdFilter != null, e => e.MenuId <= input.MaxMenuIdFilter) .WhereIf(input.IsActiveFilter > -1, e => (input.IsActiveFilter == 1 && e.IsActive) || (input.IsActiveFilter == 0 && !e.IsActive)); var pagedAndFilteredRoleMappers = filteredRoleMappers .OrderBy(input.Sorting ?? "id asc") .PageBy(input); var roleMappers = from o in pagedAndFilteredRoleMappers select new GetRoleMapperForViewDto() { RoleMapper = new RoleMapperDto { RoleId = o.RoleId, Name = o.Name, LabelId = o.LabelId, MenuId = o.MenuId, IsActive = o.IsActive, Id = o.Id } }; var totalCount = await filteredRoleMappers.CountAsync(); return(new PagedResultDto <GetRoleMapperForViewDto>( totalCount, await roleMappers.ToListAsync() )); }