public async Task <IEnumerable <DataCollectionPointsReportsByDateDto> > GetDataCollectionPointReports(ReportsFilter filters, DatesGroupingType groupingType) { var dataCollectionPointReports = _reportService.GetHealthRiskEventReportsQuery(filters) .Where(r => r.ReportType == ReportType.DataCollectionPoint); return(groupingType switch { DatesGroupingType.Day => await GroupReportsByDataCollectionPointFeaturesAndDay(dataCollectionPointReports, filters.StartDate.Date, filters.EndDate.Date), DatesGroupingType.Week => await GroupReportsByDataCollectionPointFeaturesAndWeek(dataCollectionPointReports, filters.StartDate.Date, filters.EndDate.Date), _ => throw new InvalidOperationException() });
public async Task <ReportByVillageAndDateResponseDto> GetReportsGroupedByVillageAndDate(ReportsFilter filters, DatesGroupingType groupingType) { var reports = _reportService.GetHealthRiskEventReportsQuery(filters); return(groupingType switch { DatesGroupingType.Day => await GroupReportsByVillageAndDay(reports, filters.StartDate.Date, filters.EndDate.Date), DatesGroupingType.Week => await GroupReportsByVillageAndWeek(reports, filters.StartDate.Date, filters.EndDate.Date), _ => throw new InvalidOperationException() });
public async Task <IList <ReportByFeaturesAndDateResponseDto> > GetReportsGroupedByFeaturesAndDate(ReportsFilter filters, DatesGroupingType groupingType) { var reports = _reportService.GetHealthRiskEventReportsQuery(filters); var humanReports = reports .Where(r => r.ProjectHealthRisk.HealthRisk.HealthRiskType == HealthRiskType.Human); return(groupingType switch { DatesGroupingType.Day => await GroupReportsByFeaturesAndDay(humanReports, filters.StartDate.Date, filters.EndDate.Date), DatesGroupingType.Week => await GroupReportsByFeaturesAndWeek(humanReports, filters.StartDate.Date, filters.EndDate.Date), _ => throw new InvalidOperationException() });