Esempio n. 1
0
        public RouterSignal getRouterStrength(NetDevicesDatum device)
        {
            RouterSignal     NewRS = new RouterSignal();
            List <systemvar> vars  = truckService.getAppVars();

            var client = new RestClient();

            client.BaseUrl = new Uri("https://www.cradlepointecm.com/");

            var request = new RestRequest();

            request.Resource = "api/v2/net_device_signal_samples/";
            request.AddParameter("net_device", device.id);


            // easily add HTTP Headers
            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("X-CP-API-ID", vars.Where(v => v.varName == "X-CP-API-ID").Select(x => x.varVal).FirstOrDefault());
            request.AddHeader("X-CP-API-KEY", vars.Where(v => v.varName == "X-CP-API-KEY").Select(x => x.varVal).FirstOrDefault());
            request.AddHeader("X-ECM-API-ID", vars.Where(v => v.varName == "X-ECM-API-ID").Select(x => x.varVal).FirstOrDefault());
            request.AddHeader("X-ECM-API-KEY", vars.Where(v => v.varName == "X-ECM-API-KEY").Select(x => x.varVal).FirstOrDefault());

            IRestResponse response = client.Execute(request);
            DSSRootobject samples  = JsonConvert.DeserializeObject <DSSRootobject>(response.Content);
            DSSDatum      sample   = samples.data.Where(s => s.net_device.Contains(device.id)).OrderByDescending(d => d.created_at).FirstOrDefault();

            if (sample != null)
            {
                NewRS.connection_state = device.connection_state;
                NewRS.name             = device.name;
                NewRS.signal_percent   = sample.signal_percent;
                NewRS.dbm        = sample.dbm;
                NewRS.sinr       = sample.sinr;
                NewRS.created_at = sample.created_at;
            }
            else
            {
                NewRS.connection_state = device.connection_state;
                NewRS.name             = device.name;
                NewRS.signal_percent   = 0;
                NewRS.dbm        = 0;
                NewRS.sinr       = 0;
                NewRS.created_at = Convert.ToDateTime("01/01/1959 00:00:00");
            }

            return(NewRS);
        }
Esempio n. 2
0
        public ActionResult getECMSignalStrength(string routerID)
        {
            //initialize RouterSignal
            List <RouterSignal> RSList = new List <RouterSignal>();

            //get vars for api keys
            List <systemvar> vars = truckService.getAppVars();

            var client = new RestClient();

            client.BaseUrl = new Uri("https://www.cradlepointecm.com/");

            var request = new RestRequest();

            request.Resource = "api/v2/net_devices";
            request.AddParameter("router", routerID);

            // easily add HTTP Headers
            request.AddHeader("Content-Type", "application/json");
            request.AddHeader("X-CP-API-ID", vars.Where(v => v.varName == "X-CP-API-ID").Select(x => x.varVal).FirstOrDefault());
            request.AddHeader("X-CP-API-KEY", vars.Where(v => v.varName == "X-CP-API-KEY").Select(x => x.varVal).FirstOrDefault());
            request.AddHeader("X-ECM-API-ID", vars.Where(v => v.varName == "X-ECM-API-ID").Select(x => x.varVal).FirstOrDefault());
            request.AddHeader("X-ECM-API-KEY", vars.Where(v => v.varName == "X-ECM-API-KEY").Select(x => x.varVal).FirstOrDefault());

            IRestResponse        response = client.Execute(request);
            NetDevicesRootobject devices  = JsonConvert.DeserializeObject <NetDevicesRootobject>(response.Content);

            foreach (NetDevicesDatum device in devices.data)
            {
                if (device.mode == "wan" && device.service_type == "LTE")
                {
                    RouterSignal rs = getRouterStrength(device);
                    RSList.Add(rs);
                }
            }

            return(Json(RSList, JsonRequestBehavior.AllowGet));
        }