/// <summary> /// Method to receive data from API end point as a collection of objects /// /// JsonConvert parses the JSON string into classes /// </summary> /// <returns></returns> public Enforcements GetEnforcements(int num, HttpClient httpClient) { string FOOD_DATA_CENTRAL_API_PATH = BASE_URL + "api_key=" + API_KEY + "&search=report_date:[20040101+TO+20200410]&limit=100&skip=" + num; string enforcementData = ""; Enforcements enforcement = null; //httpClient.BaseAddress = new Uri(FOOD_RECALL_API_PATH); // It can take a few requests to get back a prompt response, if the API has not received // calls in the recent past and the server has put the service on hibernation try { HttpResponseMessage response = httpClient.GetAsync(FOOD_RECALL_API_PATH).GetAwaiter().GetResult(); if (response.IsSuccessStatusCode) { enforcementData = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); } if (!enforcementData.Equals("")) { // JsonConvert is part of the NewtonSoft.Json Nuget package enforcement = JsonConvert.DeserializeObject <Enforcements>(enforcementData); } } catch (Exception e) { // This is a useful place to insert a breakpoint and observe the error message Console.WriteLine(e.Message); } return(enforcement); }
public IActionResult SaveEnforcement() { HttpClient httpClient; httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Accept.Clear(); //httpClient.DefaultRequestHeaders.Add("X-Api-Key", API_KEY); httpClient.DefaultRequestHeaders.Accept.Add( new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); APIHandler webHandler = new APIHandler(); for (int i = 0; i < 18000; i += 100) { Enforcements enforcements = webHandler.GetEnforcements(i, httpClient); foreach (Enforcement enforcement in enforcements.results) { if (dbContext.Enforcements.Where(c => c.report_date.Equals(enforcement.report_date)).Count() == 0) { dbContext.Enforcements.Add(enforcement); } } } dbContext.SaveChanges(); return(View()); }
private void BeforeStartInit() { MpActive = MyAPIGateway.Multiplayer.MultiplayerActive; IsServer = MyAPIGateway.Multiplayer.IsServer; DedicatedServer = MyAPIGateway.Utilities.IsDedicated; IsCreative = MyAPIGateway.Session.CreativeMode; IsClient = !IsServer && !DedicatedServer && MpActive; HandlesInput = !IsServer || IsServer && !DedicatedServer; if (IsServer || DedicatedServer) { MyAPIGateway.Multiplayer.RegisterMessageHandler(ServerPacketId, ServerReceivedPacket); } else { MyAPIGateway.Multiplayer.RegisterMessageHandler(ClientPacketId, ClientReceivedPacket); } if (IsServer) { MyVisualScriptLogicProvider.PlayerDisconnected += PlayerDisconnected; MyVisualScriptLogicProvider.PlayerRespawnRequest += PlayerConnected; } var env = MyDefinitionManager.Static.EnvironmentDefinition; if (env.LargeShipMaxSpeed > MaxEntitySpeed) { MaxEntitySpeed = env.LargeShipMaxSpeed; } else if (env.SmallShipMaxSpeed > MaxEntitySpeed) { MaxEntitySpeed = env.SmallShipMaxSpeed; } if (MpActive) { SyncDist = MyAPIGateway.Session.SessionSettings.SyncDistance; SyncDistSqr = SyncDist * SyncDist; SyncBufferedDistSqr = SyncDistSqr + 250000; } else { SyncDist = MyAPIGateway.Session.SessionSettings.ViewDistance; SyncDistSqr = SyncDist * SyncDist; SyncBufferedDistSqr = (SyncDist + 500) * (SyncDist + 500); } Physics = MyAPIGateway.Physics; Camera = MyAPIGateway.Session.Camera; TargetGps = MyAPIGateway.Session.GPS.Create("WEAPONCORE", "", Vector3D.MaxValue, true, false); CheckDirtyGrids(); ApiServer.Load(); if (!IsClient) { Enforced = new Enforcements(this); } else { //Client enforcement request } }