public IActionResult GetDailyCovidByFilters([FromBody] DailyCovidDate selectedFields) { if (ModelState.IsValid) { var searchResponse = _elasticClient.Search <DailyCovid>(s => s .Query(q => q .Term(c => c .Name("by_country") .Field(p => p.CountryCode) .Value(selectedFields.DailyCovid.CountryCode)) && q.DateRange(c => c .Name("by_date") .Field(p => p.DateReported) .GreaterThanOrEquals(selectedFields.StartDateTime.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture)) .LessThanOrEquals(selectedFields.EndDateTime.Value.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture)) .Format("MM/dd/yyyy"))) .Size(1000)); var searchResponseList = searchResponse.Documents.ToList(); var dailyCovidViewModel = new DailyCovidViewModel { DailyCovids = searchResponseList }; return(Ok(dailyCovidViewModel)); } return(Ok("")); }
public IActionResult Index() { var searchResponse = _elasticClient.Search <DailyCovid>(s => s.From(0).Take(2000).MatchAll().Sort(ss => ss.Descending(d => d.DateReported))); var dailyCovids = searchResponse.Documents.ToList(); var viewModelList = new DailyCovidViewModel { DailyCovids = dailyCovids }; return(View(viewModelList)); }
public IActionResult GetMaxCase() { DateTime date = new DateTime(2020, 9, 27); var searchResponse = _elasticClient.Search <DailyCovid>(s => s .Query(q => q .DateRange(c => c .Name("by_date") .Field(p => p.DateReported) .GreaterThanOrEquals(date.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture)) .Format("MM/dd/yyyy"))) .Size(235) .Sort(a => a .Descending(d => d.CumulativeCases))); var searchResponseList = searchResponse.Documents.ToList(); var dailyCovidViewModel = new DailyCovidViewModel { DailyCovids = searchResponseList }; return(Ok(dailyCovidViewModel)); }