Exemple #1
0
        public IEnumerable <GetSyntheticCovidCasesResult> Handle(GetSyntheticCovidCasesFilter filter)
        {
            var data = _csvContext.GetCsvData <CovidData>("Resources/input.csv");

            var result = data
                         .Select(x => new
            {
                month = Convert.ToDateTime(x.Date).ToString("yyyy-MM"),
                x.Cases,
                x.Deaths
            })
                         .GroupBy(x => new
            {
                x.month
            })
                         .Select(x => new GetSyntheticCovidCasesResult
            {
                month  = x.Key.month,
                cases  = x.Sum(y => y.Cases),
                deaths = x.Sum(y => y.Deaths)
            });

            if (!string.IsNullOrEmpty(filter?.month))
            {
                result = result.Where(x => x.month == filter.month);
            }

            return(result);
        }
        public IActionResult Index([FromQuery] GetSyntheticCovidCasesFilter filter)
        {
            var data = _getSyntheticCovidQueryHandler.Handle(filter);

            return(Ok(data));
        }