Пример #1
0
        public QuantityRecordsVm FindQuantityRecords(ReportPagedVm reportPagedVm)
        {
            var records         = _tripRepository.FindAll();
            var filteredRecords = FindAllByReportFilter(reportPagedVm, records).ToList();

            var quantityRecordsVm = new QuantityRecordsVm
            {
                Quantity = filteredRecords.Count,
                Trips    = filteredRecords
            };

            return(quantityRecordsVm);
        }
Пример #2
0
 public IActionResult GetAllFilteredAndPaged(ReportPagedVm reportPagedVm)
 {
     try
     {
         var travels = _tripService.FilteredAndPaged(reportPagedVm);
         return(Ok(travels));
     }
     catch (Exception ex)
     {
         _logger.LogError(ex.HResult, ex.InnerException == null ? ex.Message : ex.InnerException.Message);
         return(BadRequest(ServiceResponseExtension.GenericResponse));
     }
 }
Пример #3
0
 public IActionResult GetQuantityRecords(ReportPagedVm reportPagedVm)
 {
     try
     {
         var quantity = _tripService.FindQuantityRecords(reportPagedVm).Quantity;
         return(Ok(quantity));
     }
     catch (Exception ex)
     {
         _logger.LogError(ex.HResult, ex.InnerException == null ? ex.Message : ex.InnerException.Message);
         return(BadRequest(ServiceResponseExtension.GenericResponse));
     }
 }
Пример #4
0
        public PagedListVm FilteredAndPaged(ReportPagedVm reportPagedVm)
        {
            var page     = reportPagedVm.Page > 0 ? reportPagedVm.Page : 1;
            var pageSize = reportPagedVm.PageSize > 0 ? reportPagedVm.PageSize : 10;
            var skip     = (page - 1) * pageSize;

            var quantityRecordsVm = FindQuantityRecords(reportPagedVm);
            var rowCount          = quantityRecordsVm.Quantity;

            var trips = quantityRecordsVm.Trips.ToList();

            return(new PagedListVm
            {
                Page = page,
                PageSize = pageSize,
                RowCount = rowCount,
                Collection = trips.Skip(skip).Take(pageSize)
            });
        }
Пример #5
0
        public IQueryable <Trip> FindAllByReportFilter(ReportPagedVm reportPagedVm, IQueryable <Trip> trips)
        {
            if (reportPagedVm == null)
            {
                return(trips);
            }

            if (!string.IsNullOrWhiteSpace(reportPagedVm.CountryFilter))
            {
                trips = trips.Where(t => t.Country.Name == reportPagedVm.CountryFilter);
            }

            if (!string.IsNullOrWhiteSpace(reportPagedVm.CityFilter))
            {
                trips = trips.Where(t => t.City.Name == reportPagedVm.CityFilter);
            }

            if (!string.IsNullOrWhiteSpace(reportPagedVm.StatusFilter))
            {
                trips = trips.Where(t => t.Status == reportPagedVm.StatusFilter);
            }

            return(trips);
        }