/* * Solicita los datos de los partes del técnico que esta usando la aplicación * Manda como parametros el código y contraseña del usuario * Recupera un JSON con los datos */ public async Task PostDatosAsync <T>(int usuario, string contraseña, string direccion) where T : class { RepositorySatApp trasfiere = new RepositorySatApp(); try { Variables.ErrorTransDatos = 0; var contra = new Clases.Tecnico { Codigo = Convert.ToInt32(usuario), Contraseña = contraseña }; string contenido = JsonConvert.SerializeObject(contra); var content = new StringContent(contenido, Encoding.UTF8, "application/json"); var url = Variables.ServerUrl + direccion; HttpResponseMessage response = await Client.PostAsync(url, content); if (response.IsSuccessStatusCode) { var Datos = await response.Content.ReadAsStringAsync(); List <T> Tabla = JsonConvert.DeserializeObject <List <T> >(Datos); trasfiere.Save <T>(Tabla); response.Dispose(); if (direccion == "api/PrecioClienteFiltrado") { Variables.Cargadatos = true; } } } catch (Exception ex) { //En caso que hubiese un error en la descarga revertimos los cambios. BorrarBD(); Variables.ErrorTransDatos = 1; await Application.Current.MainPage.DisplayAlert("Aviso", "Error en la comunicación:" + ex.Message, "OK"); } }