Esempio n. 1
0
        /// <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());
        }
Esempio n. 3
0
        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
            }
        }