Example #1
0
        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()
                       ));
        }
Example #2
0
        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
                       ));
        }
Example #3
0
 public async Task <PagedResultDto <GetAllLocationsOutput> > GetAllUser(GetAllLocationsInput input)
 {
     return(await ApiClient.GetAsync <PagedResultDto <GetAllLocationsOutput> >(GetEndpoint(nameof(GetAllUser)), input));
 }