private async Task SendPostRelevamiento(string jsonRelevamiento, TbRequest tbRequestToUpdate)
        {
            try
            {
                //String content que serealiza la clase a string
                StringContent stringContent =
                    new StringContent(jsonRelevamiento, Encoding.UTF8, "application/json");

                HttpClient httpClient = new HttpClient();
                httpClient.Timeout = TimeSpan.FromMinutes(30);

                //TEST
                //string urlPost = "http://iserver.itris.com.ar:7101/DACServicesTest/api/Relevamiento";

                //PROD
                string urlPost = "http://iserver.itris.com.ar:7101/DACServices/api/Relevamiento";

                //variable que se utiliza para tomar la respuesta
                HttpResponseMessage httpResponseMessage;

                //Se ejecuta el post y se lo asigna a la variable que contiene la respuesta
                httpResponseMessage = await httpClient.PostAsync(new Uri(urlPost), stringContent);

                if (httpResponseMessage.StatusCode == System.Net.HttpStatusCode.Created)
                {
                    //Se comenta porque no es necesario informarle al usuario que se envio el relevamiento ok
                    //Va a poder chequearlo desde el menu estados
                    //await DisplayAlert("Aviso", "Se ha enviado el relevamiento", "Ok");

                    //Obtengo el mensaje de respuesta del server
                    var stringResponse = httpResponseMessage.Content.ReadAsStringAsync().Result;

                    //Serializo la repsuesta que viene en formato json al tipo de clase
                    //ACA TENES QUE TENER LA RESPUESTA DEL SERVICIO
                    ItrisPlanillaEntity respuesta = JsonConvert.DeserializeObject <ItrisPlanillaEntity>(stringResponse);

                    //Dato a guardar en tabla tbRequest
                    string requestBody = JsonConvert.SerializeObject(respuesta);

                    var tbRequestDataService = new TbRequestDataService();

                    tbRequestToUpdate.req_json   = requestBody;
                    tbRequestToUpdate.req_estado = true;

                    //Se updatea el estado del registro de la planilla enviada
                    tbRequestDataService.Update(tbRequestToUpdate);

                    //Se comenta codigo porque son mensajes debug
                    //if (tbRequestDataService.Update(tbRequestToUpdate))
                    //    await DisplayAlert("Aviso", "Se ha actualizado el relevamiento relevamiento", "Ok");
                    //else
                    //    await DisplayAlert("Aviso", "NO se ha podido actualizar el relevamiento relevamiento", "Ok");
                }
                else
                {
                    await DisplayAlert("Aviso", "NO se ha podido enviar el relevamiento", "Ok");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private async void btnFinalizarClicked(object sender, EventArgs e)
        {
            try
            {
                bool respuesta = await DisplayAlert("ATENCION", "¿Desea finalizar el Relevamiento de este Pueblo?", "Si", "No");

                if (respuesta)
                {
                    //Primero se envia a la pantalla principal para que se sigan ejecutando los threads y evitar mandar 2 relevamientos
                    PopUntilDestination(typeof(Principal));
                    //Comento acceso al imei politicas android
                    //string imeiTelefono = DependencyService.Get<IServiceImei>().GetImei();

                    ERP_ASESORES asesor       = new ERP_ASESORES();
                    int          maxRequestId = 1;
                    using (SQLite.SQLiteConnection conexion = new SQLiteConnection(App.RutaBD))
                    {
                        //TbRequest maxRequest = new TbRequest();

                        //Se obtiene asesor mediante el imei del equipo. Por politicas de privacidad se obtiene mediante descripcion asesor.
                        //asesor = conexion.Table<ERP_ASESORES>().Where(a => a.c_IMEI == imeiTelefono).FirstOrDefault();
                        //Nuevo metodo de obtener asesore por descripcion (google play)
                        //asesor = conexion.Table<ERP_ASESORES>().Where(a => a.c_IMEI == imeiTelefono).FirstOrDefault();
                        TbRequest maxRequest = conexion.Table <TbRequest>().OrderByDescending(r => r.ID).FirstOrDefault();
                        if (maxRequest != null)
                        {
                            maxRequestId = maxRequest.ID + 1;
                        }
                    }

                    App.releva.FK_ERP_EMPRESAS = App.distribuidorseleccionado.ID.ToString();

                    //Asesor previo politica
                    //App.releva.FK_ERP_ASESORES = asesor.ID;
                    App.releva.FK_ERP_ASESORES = App.globalAsesor.ID;

                    App.releva.FECHA = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
                    //string codigoRequest = string.Format("{0}-{1}", App.globalAsesor.ID.ToString(), maxRequestId.ToString());
                    string codigoRequest = string.Format("{0}-{1}", App.globalAsesor.ID.ToString(), DateTime.Now.ToString("yyyyMMddHHmmss"));

                    //Obtengo el imei del equipo para el request

                    App.releva.CODIGO = "ASD123ADSASD";
                    ItrisPlanillaEntity relevamientos = new ItrisPlanillaEntity();
                    relevamientos.relevamiento  = App.releva;
                    relevamientos.comercios     = App.comercios;
                    relevamientos.codigoRequest = codigoRequest;// "123456789-9"; //<-- Usar este codigo para test (no va a itris)

                    string jsonRelevamiento = JsonConvert.SerializeObject(relevamientos);

                    var tbRequestDataService = new TbRequestDataService();

                    if (!tbRequestDataService.isInserted(relevamientos.codigoRequest))
                    {
                        TbRequest tbRequests = new TbRequest()
                        {
                            req_codigo = relevamientos.codigoRequest,
                            req_json   = jsonRelevamiento,
                            req_estado = false
                        };

                        //Se updatea el estado del registro de la planilla enviada
                        try
                        {
                            tbRequestDataService.Insert(tbRequests);
                            App.comercios = new List <ItrisComercioArticulo>();
                        }
                        catch (Exception ex)
                        {
                            throw ex;
                        }

                        //Se comenta codigo porque son mensajes debug
                        //if (tbRequestDataService.Insert(tbRequests))
                        //	await DisplayAlert("Aviso", "Se ha dado de alta un nuevo relevamiento", "Ok");
                        //else
                        //	await DisplayAlert("Aviso", "NO se ha podido dar de alta el relevamiento", "Ok");

                        if (CheckNetworkState.hasConnectivity)
                        {
                            await SendPostRelevamiento(jsonRelevamiento, tbRequests);
                        }
                        else
                        {
                            await DisplayAlert("Aviso", "Sin conexion a internet, no se podra enviar el relevamiento hasta que vuelva a tener conexion", "Ok");
                        }
                    }
                    else
                    {
                        await DisplayAlert("Aviso", "Ese relevamiento ya se encuentra dado de alta", "Ok");
                    }
                    //Se comenta esta linea porque permitia enviar dos formularios, se agrego arriba (si pasa test borrar).
                    //PopUntilDestination(typeof(Principal));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }