public Pandemic GetPandemic() { //var Pandemic = await _repository.GetPandemic(); try { var Date = DateTime.UtcNow.ToString("yyyy-MM-dd"); var client = new RestClient($"https://api.covid19tracking.narrativa.com/api/{Date}/country/north_macedonia"); var response = client.Execute(new RestRequest()); string original = response.Content; var jsonResponsePandemic = JObject.Parse(original); if (!jsonResponsePandemic.ContainsKey("total")) { Date = DateTime.UtcNow.AddDays(-1).ToString("yyyy-MM-dd"); client = new RestClient($"https://api.covid19tracking.narrativa.com/api/{Date}/country/north_macedonia"); response = client.Execute(new RestRequest()); original = response.Content; jsonResponsePandemic = JObject.Parse(original); if (!jsonResponsePandemic.ContainsKey("total")) { Date = DateTime.UtcNow.AddDays(-2).ToString("yyyy-MM-dd"); client = new RestClient($"https://api.covid19tracking.narrativa.com/api/{Date}/country/north_macedonia"); response = client.Execute(new RestRequest()); original = response.Content; jsonResponsePandemic = JObject.Parse(original); } } var global = JObject.Parse(jsonResponsePandemic.GetValue("total").ToString()); var TotalConfirmed = long.Parse(global.GetValue("today_confirmed").ToString()); var TotalDeaths = long.Parse(global.GetValue("today_deaths").ToString()); var TotalRecovered = long.Parse(global.GetValue("today_new_recovered").ToString()); var mk = JObject.Parse(jsonResponsePandemic.GetValue("dates").ToString()); var date = JObject.Parse(mk.GetValue(Date).ToString()); var country = JObject.Parse(date.GetValue("countries").ToString()); var mkd = JObject.Parse(country.GetValue("North Macedonia").ToString()); dynamic objP = mkd; var TotalMk = Int32.Parse(objP.GetValue("today_confirmed").ToString()); var TotalDeathsMK = Int32.Parse(objP.GetValue("today_deaths").ToString()); var TotalRecoveredMK = Int32.Parse(objP.GetValue("today_recovered").ToString()); var NewMK = Int32.Parse(objP.GetValue("today_new_confirmed").ToString()); var Name = "Coronavirus"; var ActiveMk = TotalMk - (TotalRecoveredMK + TotalDeathsMK); var ActiveGlobal = TotalConfirmed - (TotalRecovered + TotalDeaths); Pandemic pandemic = new Pandemic(Name, TotalMk, ActiveMk, TotalDeathsMK, NewMK, TotalConfirmed, TotalDeaths, ActiveGlobal); return(pandemic); } catch (Exception e) { _logger.LogInformation(e.Message); } return(null); }
//za json(Sys updateer) public async Task UpdatePandemic(Pandemic pandemic) { if (pandemic != null) { await _repository.UpdatePandemic(pandemic); } else { throw new Exception("Pandemic is null"); } }
public async Task UpdatePandemic(Pandemic pandemic) { var Pandemic = await _context.Pandemics.Where(x => x.Id == pandemic.Id).FirstOrDefaultAsync(); Pandemic.ActiveGlobal = pandemic.ActiveGlobal; Pandemic.ActiveMK = pandemic.ActiveMK; Pandemic.DeathsGlobal = pandemic.DeathsGlobal; Pandemic.DeathsMK = pandemic.DeathsMK; Pandemic.Name = pandemic.Name; Pandemic.NewMK = pandemic.NewMK; Pandemic.TotalGlobal = pandemic.TotalGlobal; Pandemic.TotalMK = pandemic.TotalMK; await _context.SaveChangesAsync(); }
public Dictionary <string, Pandemic> pandemicReader(JsonData disease) { Dictionary <string, Pandemic> pandemic = new Dictionary <string, Pandemic> (); for (int i = 0; i <= 10; i++) { pandemic_id = disease ["Pandemic"] [i] ["pandemic_id"].ToString(); symptom = bool.Parse(disease ["Pandemic"] [i] ["symptom"].ToString()); desc = disease ["Pandemic"] [i] ["desc"].ToString(); cost = int.Parse(disease ["Pandemic"] [i] ["cost"].ToString()); heirarchy = disease ["Pandemic"] [i] ["cost"].ToString().Split('&'); Pandemic pand = new Pandemic(pandemic_id, symptom, desc, cost, heirarchy); pandemic.Add(pandemic_id, pand); } return(pandemic); }
public async Task AddPandemic(Pandemic pandemic) { var pand = await _context.Pandemics.AddAsync(pandemic); _context.SaveChanges(); }
public static Card ToCardEvent(this string str) { Card ret; //First character indicates stage GameStage stage = (GameStage)int.Parse("" + str[0]); //Second character indicates subclass switch (str[1]) { case 'a': //format: 'Stage''a''CrewCost''DayCost''Reward' ret = new AbandonedShip ( stage, Convert.ToInt32("" + str[2], 16), int.Parse("" + str[3]), Convert.ToInt32("" + str[4], 16) ); break; case 'A': //format: 'Stage''A''MinimumCrew''DayCost''Wares.Count'('Ware')+ List <Ware> stationWares = new List <Ware>(); int wareCount = int.Parse("" + str[4]); for (int i = 0; i < wareCount; ++i) { stationWares.Add((Ware)(int.Parse("" + str[i + 5]))); } ret = new AbandonedStation ( stage, Convert.ToInt32("" + str[2], 16), int.Parse("" + str[3]), stationWares ); break; case 'm': //format: 'Stage''m''Projectiles.Count'('Projectile','Direction')+ List <(Projectile, Direction)> projectiles = new List <(Projectile, Direction)>(); int projectileCount = int.Parse("" + str[2]); for (int i = 0; i < projectileCount; ++i) { projectiles.Add(((Projectile)(int.Parse("" + str[3 + 2 * i])), (Direction)int.Parse("" + str[4 + 2 * i]))); } ret = new MeteorShower(stage, projectiles); break; case 'y': //format: 'Stage''y''Firepower''DayCost''Reward''Penalty.Projectiles.Count'('Projectile','Direction')+ List <(Projectile, Direction)> pirateProjectiles = new List <(Projectile, Direction)>(); int pirateProjectileCount = int.Parse("" + str[5]); for (int i = 0; i < pirateProjectileCount; ++i) { pirateProjectiles.Add(((Projectile)(int.Parse("" + str[6 + 2 * i])), (Direction)int.Parse("" + str[7 + 2 * i]))); } ret = new Pirates ( stage, Convert.ToInt32("" + str[2], 16), int.Parse("" + str[3]), pirateProjectiles, Convert.ToInt32("" + str[4], 16) ); break; case 'd': //format: 'Stage''d''Firepower''DayCost''Reward.Count'('Ware')+'Penalty' List <Ware> smugglerWares = new List <Ware>(); int smugglerWareCount = int.Parse("" + str[4]); for (int i = 0; i < smugglerWareCount; ++i) { smugglerWares.Add((Ware)int.Parse("" + str[5 + i])); } ret = new Smugglers ( stage, Convert.ToInt32("" + str[2], 16), int.Parse("" + str[3]), int.Parse("" + str[5 + smugglerWareCount]), smugglerWares ); break; case 'S': //format: 'Stage''S''Firepower''DayCost''Reward''Penalty' ret = new Slavers ( stage, Convert.ToInt32("" + str[2], 16), int.Parse("" + str[3]), int.Parse("" + str[5]), Convert.ToInt32("" + str[4], 16) ); break; case 'o': //format: 'Stage''o' ret = new OpenSpace(stage); break; case 'p': //format: 'Stage''p' ret = new Pandemic(stage); break; case 'g': //format: 'Stage''g' ret = new Sabotage(stage); break; case 'P': //format: 'Stage''P''DayCost''Offers.Count'('offer.count'('Ware')+)+ List <List <Ware> > offers = new List <List <Ware> >(); int offerCount = int.Parse("" + str[3]); int index = 0; for (int i = 0; i < offerCount; ++i) { int offerWareCount = int.Parse("" + str[4 + index]); List <Ware> offer = new List <Ware>(); for (int j = 0; j < offerWareCount; ++j) { offer.Add((Ware)int.Parse("" + str[5 + index + j])); } offers.Add(offer); index += offerWareCount + 1; } ret = new Planets ( stage, int.Parse("" + str[2]), offers ); break; case 's': //format: 'Stage''s' ret = new Stardust(stage); break; case 'w': //format: 'Stage''w''Event1.Attribute''Event1.PenaltyType''Event1.Penalty' // 'Event2.Attribute''Event2.PenaltyType''Event2.Penalty" // 'Event3.Attribute''Event3.PenaltyType''Event3.Penalty.Projectiles.Count'('Projectile','Direction')+ WarzoneEvent <int> event1 = new WarzoneEvent <int> ( (CardCheckAttribute)int.Parse("" + str[2]), (CardPenalty)int.Parse("" + str[3]), int.Parse("" + str[4]) ); WarzoneEvent <int> event2 = new WarzoneEvent <int> ( (CardCheckAttribute)int.Parse("" + str[5]), (CardPenalty)int.Parse("" + str[6]), int.Parse("" + str[7]) ); List <(Projectile, Direction)> event3Projectiles = new List <(Projectile, Direction)>(); int event3ProjectilesCount = int.Parse("" + str[10]); for (int i = 0; i < event3ProjectilesCount; ++i) { event3Projectiles.Add(((Projectile)int.Parse("" + str[11 + 2 * i]), (Direction)int.Parse("" + str[12 + 2 * i]))); } WarzoneEvent <List <(Projectile, Direction)> > event3 = new WarzoneEvent <List <(Projectile, Direction)> > ( (CardCheckAttribute)int.Parse("" + str[8]), (CardPenalty)int.Parse("" + str[9]), event3Projectiles ); ret = new Warzone(stage, event1, event2, event3); break; default: throw new InvalidCastException("Unrecognized CardEvent type character"); } return(ret); }