public DispositivoModel GetDeviceData() { string serial = string.Empty; uint platformExpert = IOServiceGetMatchingService(0, IOServiceMatching("IOPlatformExpertDevice")); if (platformExpert != 0) { NSString key = (NSString)"IOPlatformSerialNumber"; IntPtr serialNumber = IORegistryEntryCreateCFProperty(platformExpert, key.Handle, IntPtr.Zero, 0); if (serialNumber != IntPtr.Zero) { serial = NSString.FromHandle(serialNumber); } IOObjectRelease(platformExpert); } DispositivoModel _dispositivo = new DispositivoModel { Fabricante = DeviceInfo.Manufacturer, Id = 0, IdUnicoDispositivo = serial, Modelo = DeviceInfo.Model, Nombre = DeviceInfo.Name, Plataforma = DeviceInfo.Platform.ToString(), Tipo = DeviceInfo.DeviceType.ToString(), Version = DeviceInfo.VersionString, }; return(_dispositivo); }
public async Task <IHttpActionResult> PostDispositivo(DispositivoModel reg) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } tblDispositivo tblDispositivo = new tblDispositivo { Fabricante = reg.fabricante, FechaRegistro = DateTime.Now, IdDispositivo = reg.Id, IMEI_Dispositivo = reg.IdUnicoDispositivo, Modelo = reg.modelo, NombreDispositivo = reg.nombre, Plataforma = reg.plataforma, TipoDispositivo = reg.tipo, Version = reg.version, }; try { db.tblDispositivo.Add(tblDispositivo); await db.SaveChangesAsync(); reg.Id = tblDispositivo.IdDispositivo; } catch (Exception ex) { string msg = ex.Message; return(BadRequest(msg)); } return(Ok(reg)); }
private async void DataService_OnGetSuccessfull(object sender, DataServiceEventArgs e) { try { HttpResponseMessage result = e.Result; string json = result.Content.ReadAsStringAsync().Result; long dispId = JsonConvert.DeserializeObject <long>(json); DispositivoModel dispositivo = DependencyService.Get <IDeviceManager>().GetDeviceData(); if (dispId != 0) { dispositivo.Id = dispId; OnGetDeviceSuccesfull?.Invoke(this, dispositivo); } else { dispositivo.FechaRegistro = DateTime.Now; dispositivo.UserId = App.UserInfo.Id; string serDataDisp = JsonConvert.SerializeObject(dispositivo); string addDispositvoURL = $"{App.ApiUrl}api/device/addDevice"; await dataService.PostDataAsync(addDispositvoURL, serDataDisp, e.ParentMethodName); } } catch (Exception ex) { OnGetDeviceFailed?.Invoke(this, new FailEventArgs(e.ParentMethodName, ex.Message)); } }
public void Adicionar([FromBody] DispositivoModel dispositivo) { Servico.Salvar(new Dispositivo { Usuario = new Usuario { Id = dispositivo.UsuarioId }, Identificador = dispositivo.Identificador }); }
private void DataService_OnPostSuccessfull(object sender, DataServiceEventArgs e) { try { string json = e.Result.Content.ReadAsStringAsync().Result; DispositivoModel dispositivo = JsonConvert.DeserializeObject <DispositivoModel>(json); OnGetDeviceSuccesfull?.Invoke(this, dispositivo); } catch (Exception ex) { OnGetDeviceFailed?.Invoke(this, new FailEventArgs(e.ParentMethodName, ex.Message)); } }
public DispositivoModel GetDeviceData() { IDeviceInfo _device = CrossDeviceInfo.Current; DispositivoModel _dispositivo = new DispositivoModel { Fabricante = _device.Manufacturer, Id = 0, IdUnicoDispositivo = _device.Id, Modelo = _device.Model, Nombre = _device.DeviceName, Plataforma = _device.Platform.ToString(), Tipo = _device.Idiom.ToString(), Version = _device.Version, }; return(_dispositivo); }
public static async Task <UsuarioModel> GetdataUsuario(string queryString, string _token) { UsuarioModel _usuario = new UsuarioModel(); try { using (HttpClient httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", _token); httpClient.Timeout = TimeSpan.FromSeconds(60); var _cancelTokenSource = new CancellationTokenSource(); var _cancelToken = _cancelTokenSource.Token; var request = new HttpRequestMessage(new HttpMethod("GET"), queryString); var result = await httpClient.SendAsync(request, _cancelToken).ConfigureAwait(true); if (result.IsSuccessStatusCode) { string json = result.Content.ReadAsStringAsync().Result; _usuario = JsonConvert.DeserializeObject <UsuarioModel>(json); _usuario.ErrorMessage = string.Empty; long IdUsuario = _usuario.Id; string _IpAddress = DependencyService.Get <IIPAddressManager>().GetIpAddress(); AuditoriaModel _auditModel = new AuditoriaModel(); _auditModel.GenerarRegistro(httpClient, _usuario.Nombre, string.Empty, IdUsuario, _IpAddress, string.Empty, true); /* ******************************* * Obtener datos del dispositivo * * *******************************/ DispositivoModel Dispositivo = DependencyService.Get <IIDeviceManager>().GetDeviceData(); Dispositivo.FechaRegistro = DateTime.Now; Dispositivo.IdUsuario = _usuario.Id; string _verifyDispUrl = string.Format("https://www.bcmweb.net/api/device/ExistDevice/{0}", Dispositivo.IdUnicoDispositivo); request = new HttpRequestMessage(new HttpMethod("GET"), _verifyDispUrl); result = await httpClient.SendAsync(request, _cancelToken).ConfigureAwait(true); if (result.IsSuccessStatusCode) { json = result.Content.ReadAsStringAsync().Result; long dispId = JsonConvert.DeserializeObject <long>(json); if (dispId == 0) { string serDataDisp = JsonConvert.SerializeObject(Dispositivo); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); string addDispositvoURL = "https://www.bcmweb.net/api/device/addDevice"; request = new HttpRequestMessage(new HttpMethod("POST"), addDispositvoURL) { Content = new StringContent(serDataDisp, Encoding.UTF8, "application/json") }; result = await httpClient.SendAsync(request, _cancelToken).ConfigureAwait(true); if (result.IsSuccessStatusCode) { json = result.Content.ReadAsStringAsync().Result; Dispositivo = JsonConvert.DeserializeObject <DispositivoModel>(json); _usuario.IdDispositivo = Dispositivo.Id; } } else { _usuario.IdDispositivo = dispId; } } } } } catch (Exception ex) { _usuario.ErrorMessage = ex.Message; } return(_usuario); }