public Task <bool> AddOrUpdateAsync(DeviceInfo info)
        {
            var entity = new DeviceInfoEntity(info);

            _table.Execute(TableOperation.InsertOrReplace(entity));
            return(Task.FromResult(true));
        }
예제 #2
0
        /// <summary>
        ///获取单个设备的详情信息
        /// </summary>
        /// <param name="deviceID"></param>
        /// <returns></returns>
        public DeviceInfoEntity GetDeviceInfoEntiy(string deviceID)
        {
            DeviceInfoEntity deviceInfoEntity = new DeviceInfoEntity();
            var        request    = new RestRequest(apiSettings.Uri.Device, Method.GET);
            var        res        = _client.Execute(request);
            DeviceInfo deviceInfo = new DeviceInfo();

            if ((int)res.StatusCode == 200)
            {
                deviceInfo = JsonConvert.DeserializeObject <DeviceInfo>(res.Content);
            }
            if (deviceInfo.Uri != null)
            {
                deviceInfoEntity = deviceInfo.Uri.Where(o => o.DeviceID == deviceID).SingleOrDefault();
            }
            return(deviceInfoEntity);
        }
예제 #3
0
        public async Task SaveDeviceInfo(IDeviceInfo device)
        {
            if (!initialized)
            {
                await InitializeAsync();
            }

            var entity = new DeviceInfoEntity
            {
                PartitionKey = device.ClientDeviceId,
                RowKey       = DateTime.UtcNow.ToString("yyyyMMddHHmmssfff"),

                Browser        = device.Browser,
                BrowserVersion = device.BrowserVersion,
                ClientDeviceId = device.ClientDeviceId,
                Cookie         = device.Cookie,
                Device         = device.Device,
                DeviceFP       = device.DeviceFP,
                DeviceType     = device.DeviceType,
                DeviceVendor   = device.DeviceVendor,
                DPI            = device.DPI,
                Language       = device.Language,
                LocalStorage   = device.LocalStorage,
                Mobile         = device.Mobile,
                OS             = device.OS,
                OSVersion      = device.OSVersion,
                SessionStorage = device.SessionStorage,
                SystemLanguage = device.SystemLanguage,
                TimeZone       = device.TimeZone,
                UserAgent      = device.UserAgent
            };

            var table = tableClient.GetTableReference(DeviceInfoTableName);

            var status = await table.InsertAsync(entity);

            if (status >= 400)
            {
                throw new HttpStatusException("EntityErrorInsert:DeviceInfo", status);
            }
        }
예제 #4
0
        /// <summary>
        /// 获取设备列表
        /// </summary>
        /// <returns></returns>
        public List <DeviceInfoEntity> GetDeviceInfoEntiyList()
        {
            List <DeviceInfoEntity> deviceInfoEntity = new List <DeviceInfoEntity>();
            var request = new RestRequest(apiSettings.Uri.Device, Method.GET);
            var res     = _client.Execute(request);

            if ((int)res.StatusCode == 200)
            {
                dynamic deviceInfoEntityresult = JsonConvert.DeserializeObject <dynamic>(res.Content);
                if (deviceInfoEntityresult != null)
                {
                    for (int i = 0; i < deviceInfoEntityresult.context.Count; i++)
                    {
                        DeviceInfoEntity entity = new DeviceInfoEntity();
                        entity.DeviceID = deviceInfoEntityresult.context[i].DeviceID;
                        entity.SensorID = deviceInfoEntityresult.context[i].SensorID;
                        entity.IsAlarm  = deviceInfoEntityresult.context[i].IsAlarm;
                        deviceInfoEntity.Add(entity);
                    }
                }
            }
            return(deviceInfoEntity);
        }
 public Task<bool> AddOrUpdate(DeviceInfo info)
 {
     var entity = new DeviceInfoEntity(info);
     _table.Execute(TableOperation.InsertOrReplace(entity));
     return Task.FromResult(true);
 }