public static async Task <List <CountryCoronaInfoWrapper> > GetCoronaInfoByCountryByDaysAsync(string countryCode, int numberOfDays) { List <CountryCoronaInfoWrapper> info = await Task.Run(() => { List <CountryCoronaInfoWrapper> source = new List <CountryCoronaInfoWrapper>(); if (!string.IsNullOrWhiteSpace(countryCode)) { using (CoronaContext coronaContext = new CoronaContext()) { List <CoronaVirusSummary> list = coronaContext.CoronaVirusSummaries.OrderByDescending(o => o.Date).Take(numberOfDays).ToList(); if (list.Count > 0) { foreach (CoronaVirusSummary coronaVirusSummary in list) { CountryCoronaInfo countryCoronaInfo = ((IEnumerable <CountryCoronaInfo>)JsonConvert.DeserializeObject <List <CountryCoronaInfo> >(coronaVirusSummary.VirusInfo)).SingleOrDefault(c => c.CountryInfo.Iso2 == countryCode); if (countryCoronaInfo != null) { CountryCoronaInfoWrapper coronaInfoWrapper = new CountryCoronaInfoWrapper() { CountryCoronaInfo = countryCoronaInfo, Date = coronaVirusSummary.Date.ToString("dd/MM/yy") }; source.Add(coronaInfoWrapper); } } } } } source.Reverse(); return(source); }); return(info); }
public static CountryCoronaInfo GetTodaysCoronaInfoByCountry(string countryCode) { CountryCoronaInfo countryCoronaInfo = new CountryCoronaInfo(); using (CoronaContext coronaContext = new CoronaContext()) { CoronaVirusSummary coronaVirusSummary = coronaContext.CoronaVirusSummaries.FirstOrDefault(f => f.Date == DateTime.Today); if (coronaVirusSummary != null) { return(((IEnumerable <CountryCoronaInfo>)JsonConvert.DeserializeObject <List <CountryCoronaInfo> >(coronaVirusSummary.VirusInfo)).SingleOrDefault(c => c.CountryInfo.Iso2 == countryCode)); } } return(null); }