private bool FilterDataBySearchModelParameters(CovidDTO covidData, SearchModelParameters searchModelParameters) { var valid = true; if (searchModelParameters.FromDate.HasValue) { valid = valid && covidData.Date >= searchModelParameters.FromDate; } if (searchModelParameters.ToDate.HasValue) { valid = valid && covidData.Date <= searchModelParameters.ToDate; } if (searchModelParameters.ConfirmedMin.HasValue) { valid = valid && covidData.Confirmed >= searchModelParameters.ConfirmedMin; } if (searchModelParameters.ConfirmedMax.HasValue) { valid = valid && covidData.Confirmed <= searchModelParameters.ConfirmedMax; } return(valid); }
public async Task <IActionResult> Index(SearchModelParameters searchModelParameters) { var saved = await SaveCovidDataIntoDb(); var covidData = _covidDbContext.CovidData.ToList(); covidData = covidData.Where(d => FilterDataBySearchModelParameters(d, searchModelParameters)).OrderByDescending(d => d.Date).ToList(); var covidModel = new CovidModelDTO(); covidModel.CovidData = covidData; covidModel.SearchModelParameters = searchModelParameters; return(View(covidModel)); }
public CovidModelDTO() { CovidData = new List <CovidDTO>(); SearchModelParameters = new SearchModelParameters(); }