public async Task <Statistics> GetUpdatedCasesAsync(string country) { using (var apiClient = new HttpClient()) { apiClient.DefaultRequestHeaders.Accept.Clear(); apiClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); apiClient.DefaultRequestHeaders.Add("x-rapidapi-host", HostHeader); apiClient.DefaultRequestHeaders.Add("x-rapidapi-key", KeyHeader); //Call to RapidAPI endpoint - COVID19 - Statistics //Created by KishCom and publised in RapidAPI: https://rapidapi.com/KishCom/api/covid-19-coronavirus-statistics var responseMessage = await apiClient.GetAsync($"https://covid-19-coronavirus-statistics.p.rapidapi.com/v1/stats?country={country}"); if (responseMessage.IsSuccessStatusCode) { var response = responseMessage.Content; var json = await response.ReadAsStringAsync(); Statistics statistics = jsonSerializer.Deserialize <Statistics>(json); return(statistics); } else { return(null); } } }
bool DeserializeCustomSerializable(ref object instance, TypeSerializationArgs args) { if (instance == null) { instance = CreateInstance(); } ICustomSerializable ics = instance as ICustomSerializable; ics.Deserialize(args.Reader); return(true); }
public ICustomSerializable GetObject(long id) { ICustomSerializable obj; bool gettingDictionaryItemWasSuccesfull = readObjects.TryGetValue(id, out obj); if (gettingDictionaryItemWasSuccesfull) { return(obj); } List <string> des = GetObjectStringList(id); Type t = Type.GetType("TP." + des[0]); ICustomSerializable c = (ICustomSerializable)Activator.CreateInstance(t); c.Deserialize(des, this); readObjects.Add(id, c); return(c); }