Exemplo n.º 1
0
        public async Task <ResponseSave> SaveMedidasCon(ImageCubic cubic_image)
        {
            AuthorizationRequest();

            ResponseSave responseSave = new ResponseSave();

            try
            {
                string ContentType = "application/json";
                var    Result      = await client.PostAsync(
                    urlBase + Constants.EnviarMedidasCon,
                    new StringContent(
                        JsonConvert.SerializeObject(cubic_image),
                        Encoding.UTF8,
                        ContentType
                        )
                    );

                if (Result.IsSuccessStatusCode)
                {
                    var content = await Result.Content.ReadAsStringAsync();

                    responseSave = JsonConvert.DeserializeObject <ResponseSave>(content);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
            }
            return(responseSave);
        }
Exemplo n.º 2
0
 // Función de autenticación
 async Task EnviarMedidasAsync(object sender, EventArgs e)
 {
     // Verificamos nuevamente que haya conexión a internet
     CheckConnectivity();
     // Verificamos que se encuentren llenos todos los campos
     if (CheckInputs())
     {
         // Verificamos que exista conexión a internet
         if (Constants.hasInternet)
         {
             // Creamos un hilo de ejecución para consumir el servicio del login
             Device.BeginInvokeOnMainThread(async() =>
             {
                 // Mostramos el spinner de carga
                 ActivitySpinner.IsVisible = true;
                 // Instanciamos el objeto de medidas
                 ImageCubic cubic_image = new ImageCubic
                 {
                     Codigo_Barras = Entry_CodeBars.Text,
                     Alto          = Convert.ToDouble(Entry_Alto.Text),
                     Ancho         = Convert.ToDouble(Entry_Ancho.Text),
                     Largo         = Convert.ToDouble(Entry_Largo.Text),
                     Peso          = Convert.ToDouble(Entry_Peso.Text),
                     UsuarioId     = Constants.CurrentUser.IdSolex
                 };
                 // Consumimos el servicio de autenticación de Solex
                 var result = await App.RestClient.SaveMedidasCon <ImageCubic>(cubic_image);
                 // Verificamos que el servicio haya devuelto una respuesta
                 if (result != null)
                 {
                 }
                 else
                 {
                     // Mostramos el mensaje que devuelve Solex en caso de que algo esté mal
                     // con el usuario que está intentando ingresar
                     await DisplayAlert("Mensaje de Alerta", "Ocurrió un error al intentar enviar las medidas", "OK");
                 }
                 // Desabilitamos el spinner de carga
                 ActivitySpinner.IsVisible = false;
             });
         }
         else
         {
             await DisplayAlert("Error de conexión!", "No se encuentra una conexión estable a internet.", "OK");
         }
     }
 }
Exemplo n.º 3
0
 public bool CheckInputs()
 {
     // Envolvemos el código en un try catch para poder capturar cualquier tipo de error
     try
     {
         // Instanciamos el objeto de medidas
         imageCubic = new ImageCubic
         {
             Codigo_Barras = Entry_CodeBars.Text,
             Alto          = Convert.ToDouble(Entry_Alto.Text),
             Ancho         = Convert.ToDouble(Entry_Ancho.Text),
             Largo         = Convert.ToDouble(Entry_Largo.Text),
             Peso          = Convert.ToDouble(Entry_Peso.Text),
             PesoVolumen   = Convert.ToDouble(Entry_Peso.Text),
             Volumen       = Convert.ToDouble(Entry_Volumen.Text),
             Unidades      = Convert.ToInt16(Entry_Unidades.Text),
             UsuarioId     = Convert.ToInt16(Constants.CurrentUser.IdSolex),
             UsuarioLogin  = Constants.CurrentUser.Username
         };
         string TituloAlerta = "Campos vacios!";
         if (string.IsNullOrWhiteSpace(imageCubic.Codigo_Barras))
         {
             DisplayAlert(TituloAlerta, "Primero debe digitar el código de barras", "OK");
             return(false);
         }
         if (imageCubic.Largo == 0)
         {
             DisplayAlert(TituloAlerta, "Debe digitar el largo en centímetros", "OK");
             return(false);
         }
         if (imageCubic.Alto == 0)
         {
             DisplayAlert(TituloAlerta, "Debe digitar la altura en centímetros", "OK");
             return(false);
         }
         if (imageCubic.Ancho == 0)
         {
             DisplayAlert(TituloAlerta, "Debe digitar el ancho en centímetros", "OK");
             return(false);
         }
         if (imageCubic.Peso == 0)
         {
             DisplayAlert(TituloAlerta, "Debe digitar el peso en kilos", "OK");
             return(false);
         }
         if (imageCubic.Volumen == 0)
         {
             DisplayAlert(TituloAlerta, "Debe digitar el alto, el ancho y el largo de la unidad para poder calcular su volumen", "OK");
             return(false);
         }
         // Mostramos el botón de enviar a Solex
         ButtonsCubicacion.IsVisible = true;
         // Retornamos la respuesta booleana
         return(true);
     }
     catch (Exception er)
     {
         Debug.WriteLine(er);
         return(false);
     }
 }