Exemple #1
0
        /// <summary>
        /// Este metodo sirve para mandar la peticion de una nueva orden al servidor.
        /// </summary>
        /// <returns>The order.</returns>
        /// <param name="urlBase">URL base.</param>
        /// <param name="solicitud">Solicitud.</param>
        public async Task <TokenResponse> SetOrder(
            string urlBase,
            SolicitudSetOrder solicitud)
        {
            try
            {
                var    Client = new HttpClient();
                string url    = urlBase;

                var data     = JsonConvert.SerializeObject(solicitud);
                var content  = new StringContent(data, Encoding.UTF8, "application/json");
                var response = await Client.PostAsync(url, content);

                if (response.IsSuccessStatusCode)
                {
                    var json = await response.Content.ReadAsStringAsync();

                    if (json.Substring(0, 5) != "Error")
                    {
                        var resultado = (TokenResponse)JsonConvert.DeserializeObject(json, typeof(TokenResponse));
                        return(resultado);
                    }
                    else
                    {
                        return(new TokenResponse
                        {
                            ErrorDescription = "Las credenciales no son validas"
                        });
                    }
                }
                else
                {
                    return(new TokenResponse
                    {
                        ErrorDescription = "Ocurrió un error, intentelo mas tarde."
                    });
                }
            }
            catch (Exception ex)
            {
                string a = ex.Message;
                return(null);
            }
        }
        private async void SendMethod()
        {
            /*antes de cada servicio comprueba la conexion*/


            ModalMapPage modalPage = new ModalMapPage();
            await App.Navigator.Navigation.PushModalAsync(modalPage);

            /*if (Ubicacion && flagSwitchEnabled==false )
             * {
             *  var t = await UseUbicationMethod();
             *  string a = "aa";
             * }*/

            await App.Navigator.Navigation.PopModalAsync();

            if (pin == null)
            {
                //Aqui hay que poner el de escoja una ubicacion
                await App.Current.MainPage.DisplayAlert("Incorrecto", "Algo ocurrió, por favor active el uso de ubicacion en sus ajustes!", "ok");
            }
            else
            {
                MainViewModel     mainViewModel     = MainViewModel.GetInstance();
                Order             solicitud         = new Order();// hacemos el objeto order, para mandarlo al servicio!
                SolicitudSetOrder solicitudSetOrder = new SolicitudSetOrder();
                solicitud.Estado             = 1;
                solicitud.Descripcion        = Descripcion;
                solicitud.Ubicacion          = new Ubicacion();
                solicitud.Ubicacion.Latitud  = pin.Position.Latitude;
                solicitud.Ubicacion.Longitud = pin.Position.Longitude;
                solicitudSetOrder.Order      = solicitud;
                solicitudSetOrder.IDUsuario  = mainViewModel.TokenResponse.IDUsuario;
                solicitudSetOrder.IDCliente  = mainViewModel.TokenResponse.IDCOR;


                var token = await this.apiService.SetOrder(
                    "http://www.creativasoftlineapps.com/ScriptAppTuxmandados/frmSetOrder.aspx",
                    solicitudSetOrder);

                await App.Current.MainPage.DisplayAlert("Correcto", "Tuxmandado", "ok");
            }
        }
        public void SetOrder(SolicitudSetOrder obj)
        {
            try
            {
                Int64  id_cliente  = obj.IDCliente;
                Int64  id_usuario  = obj.IDUsuario;
                int    estado      = obj.Order.Estado;
                string descripcion = obj.Order.Descripcion;
                double latitud     = obj.Order.Ubicacion.Latitud;
                double longitud    = obj.Order.Ubicacion.Longitud;


                object[] parametros = { id_cliente, id_usuario, estado, descripcion, latitud, longitud };
                DataSet  ds         = SqlHelper.ExecuteDataset(obj.Conexion, "spCIDBD_setOrderCliente", parametros);
                obj.Mensaje = "No se pudo insertar";

                if (ds != null)
                {
                    if (ds.Tables[0] != null)
                    {
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            obj.Mensaje  = "success";
                            obj.Order.ID = Convert.ToInt64(ds.Tables[0].Rows[0]["id_pedido"]);
                            Serialize serialize = new Serialize(obj);
                            string    data      = serialize.ToJSON();
                            obj.DatosJson = data;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            //if (true)
            {
                if (Page.Request.HttpMethod == "POST")
                //if (true)
                {
                    SolicitudSetOrder solicitudOrder = null;
                    string            Valor          = "";
                    //Leer JSON
                    try
                    {
                        using (var streamReader = new System.IO.StreamReader(Request.GetBufferedInputStream()))
                        {
                            Valor = streamReader.ReadToEnd();
                        }
                        System.Web.Script.Serialization.JavaScriptSerializer jsonSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
                        solicitudOrder = jsonSerializer.Deserialize <SolicitudSetOrder>(Valor);
                    }
                    catch (Exception)
                    {
                        Valor = "";
                    }
                    //if (true)
                    if (Valor != "")
                    {
                        SolicitudSetOrder solicitud = new SolicitudSetOrder();
                        AppDatos          appDatos  = new AppDatos();
                        solicitud.Conexion = ConfigurationManager.ConnectionStrings["Conexion_App"].ConnectionString;

                        Order minisolicitud = new Order();// hacemos el objeto order, para mandarlo al servicio!
                        minisolicitud.Estado             = solicitudOrder.Order.Estado;
                        minisolicitud.Descripcion        = solicitudOrder.Order.Descripcion;
                        minisolicitud.Ubicacion          = new Ubicacion();
                        minisolicitud.Ubicacion.Latitud  = solicitudOrder.Order.Ubicacion.Latitud;
                        minisolicitud.Ubicacion.Longitud = solicitudOrder.Order.Ubicacion.Longitud;
                        solicitud.Order     = minisolicitud;
                        solicitud.IDUsuario = solicitudOrder.IDUsuario;
                        solicitud.IDCliente = solicitudOrder.IDCliente;

                        try
                        {
                            appDatos.SetOrder(solicitud);
                        }
                        catch (Exception ex)
                        {
                            solicitud.Mensaje   = ex.Message;
                            solicitud.DatosJson = "No se encontró.";
                        }
                        Response.Clear();
                        Response.ContentType = "application/text;";
                        if (solicitud.Mensaje == "success")
                        {
                            Response.Write(solicitud.DatosJson);
                        }
                        else
                        {
                            Response.Write("Error " + solicitud.Mensaje);
                        }
                        Response.End();
                    }
                    else
                    {
                        Response.Clear();
                        Response.ContentType = "application/text;";
                        Response.Write("Error ID:000: Valores Incorrectos");
                        Response.End();
                    }
                }
                else
                {
                    Response.Clear();
                    Response.ContentType = "application/text;";
                    Response.Write("Error ID:002 Tipo Incorrecto");
                    Response.End();
                }
            }
        }