public List <OperatorByDateViewModel> GetOperatorsReport(OperatorReportRequestViewModel request) { var from = request.From.ToDateTime(); var to = request.To.ToDateTime(23, 59, 59); var quantityBookings = _bookingItemRepository.GetByDateOperator(from, to).OrderBy(x => x.Provider.Name); var operatorsByDateViewModel = new ConcurrentDictionary <string, OperatorByDateViewModel>(); foreach (var bookingItem in quantityBookings) { var key = bookingItem.Provider.Name; if (!operatorsByDateViewModel.ContainsKey(key)) { { operatorsByDateViewModel[key] = new OperatorByDateViewModel { OperatorName = key, QuantityBooking = quantityBookings.Count(x => x.ActivityDateTime.Year == bookingItem.ActivityDateTime.Year && x.ActivityDateTime.Month == bookingItem.ActivityDateTime.Month) }; } } } return(operatorsByDateViewModel.Values.ToList().FindAll(v => v.OperatorName != "CEPAS").OrderBy(x => x.OperatorName).ToList()); }
public async Task <IActionResult> GetOperatorsReport([FromBody] OperatorReportRequestViewModel request) { var operatorByDateViewModel = _operatorReportsProvider.GetOperatorsReport(request); return(Ok(operatorByDateViewModel)); }