public async Task <PagedResultDto <GetLocationForViewDto> > GetAll(GetAllLocationsInput input) { var filteredLocations = _locationRepository.GetAll() .WhereIf(!string.IsNullOrWhiteSpace(input.Filter), e => false || e.TitleAr.Contains(input.Filter) || e.TitleEn.Contains(input.Filter)) .WhereIf(!string.IsNullOrWhiteSpace(input.TitleArFilter), e => e.TitleAr == input.TitleArFilter) .WhereIf(!string.IsNullOrWhiteSpace(input.TitleEnFilter), e => e.TitleEn == input.TitleEnFilter); var pagedAndFilteredLocations = filteredLocations .OrderBy(input.Sorting ?? "id asc") .PageBy(input); var locations = from o in pagedAndFilteredLocations select new GetLocationForViewDto() { Location = new LocationDto { TitleAr = o.TitleAr, TitleEn = o.TitleEn, Id = o.Id } }; var totalCount = await filteredLocations.CountAsync(); return(new PagedResultDto <GetLocationForViewDto>( totalCount, await locations.ToListAsync() )); }
public async Task <PagedResultDto <GetAllLocationsOutput> > GetAll(GetAllLocationsInput input) { var query = from o in _locationRepository.GetAll().Include(x => x.Incident) select new GetAllLocationsOutput { Location = ObjectMapper.Map <LocationDto>(o) }; var totalCount = await query.CountAsync(); var locations = await query .OrderBy(input.Sorting ?? "location.id asc") .PageBy(input) .ToListAsync(); return(new PagedResultDto <GetAllLocationsOutput>( totalCount, locations )); }
public async Task <PagedResultDto <GetAllLocationsOutput> > GetAllUser(GetAllLocationsInput input) { return(await ApiClient.GetAsync <PagedResultDto <GetAllLocationsOutput> >(GetEndpoint(nameof(GetAllUser)), input)); }