Пример #1
0
        private void ConnectJsonpButton_Click(object sender, RoutedEventArgs e)
        {
            List <Planning> OrderList = new List <Planning>();
            Planning        Pedido    = new Planning();

            //creamos un listado de pedidos
            //Pedido.CreateOrderList(OrderList, JasonQue.Text.Trim());

            for (int i = 0; i < OrderList.Count; i++)
            {
                //ToJSONRepresentationOrderAndSend((Planning)OrderList[i], JasonQue.Text.Trim());
            }
            //Conversion de objetos to json
        }
Пример #2
0
        public List <Planning> CreateOrderList(List <Planning> OrderList, string Que)
        {
            Planning Pedido = new Planning();

            Pedido.reference = "3456HG";
            Pedido.id        = 1;
            Pedido.longitude = 24;
            Pedido.startDate = DateTime.Now;
            Pedido.FinalDate = DateTime.Now;
            Pedido.Quee      = Que;
            OrderList.Add(Pedido);


            Planning Pedido1 = new Planning();

            Pedido1.id        = 2;
            Pedido1.reference = "23233HG2";
            Pedido1.longitude = 35;
            Pedido1.startDate = DateTime.Now;
            Pedido1.FinalDate = DateTime.Now;
            Pedido1.Quee      = Que;
            OrderList.Add(Pedido1);

            Planning Pedido2 = new Planning();

            Pedido2.id        = 5;
            Pedido2.reference = "2323GTYH";
            Pedido2.longitude = 23;
            Pedido2.startDate = DateTime.Now;
            Pedido2.FinalDate = DateTime.Now;
            Pedido2.Quee      = Que;
            OrderList.Add(Pedido2);

            Planning Pedido3 = new Planning();

            Pedido3.id        = 7;
            Pedido3.reference = "245HT";
            Pedido3.longitude = 323;
            Pedido3.startDate = DateTime.Now;
            Pedido3.FinalDate = DateTime.Now;
            Pedido3.Quee      = Que;
            OrderList.Add(Pedido3);

            return(OrderList);
        }
Пример #3
0
        public static void ToJSONRepresentationOrderAndSend(Planning Order, string Quee)
        {
            try
            {
                string    newJson   = "";
                string    URLFinal  = "";
                string    URLPrueva = "";
                DataTable Order_Operator_Sent;
                bool      InsertPlanned = true;

                //comprobación si la planificación se ha enviado o no con anterioridad
                Files.Json.Planning_Vitogas_InsertDataSet ds = new Files.Json.Planning_Vitogas_InsertDataSet();
                Files.Json.Planning_Vitogas_InsertDataSetTableAdapters.Order_Operator_SummariesTableAdapter Order_Operator_Summaries = new Files.Json.Planning_Vitogas_InsertDataSetTableAdapters.Order_Operator_SummariesTableAdapter();
                Order_Operator_Sent = Order_Operator_Summaries.GetDataSendByIdOrder1(Convert.ToInt64(Order.id));

                //la planificación existe no se vuelve a enviar
                if (Order_Operator_Sent.Rows.Count > 0)
                {
                    InsertPlanned = false;
                }

                //si el data send es nulo representa que la planificación no se ha enviado (realizamos la petición http para enviarla)
                if (InsertPlanned)
                {
                    string JasonString = Order.CreateJasonPlanning();
                    MessageBox.Show("Formato Jason:     " + JasonString);

                    //construimos la url para realizar la peticion http
                    URLFinal = "http://localhost:21935/tdi/AMMForm?info_Target=" + Quee;

                    //realizamos la peticion http a tmobility (api rest)
                    var request = (HttpWebRequest)WebRequest.Create(URLFinal);
                    request.Method        = "POST";
                    request.ContentType   = "application/json";
                    request.ContentLength = JasonString.Length;
                    StreamWriter requestWriter = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);

                    requestWriter.Close();

                    //obtenemos la respuesta Tmobility
                    System.Net.WebResponse webResponse = request.GetResponse();
                    Stream       webStream             = webResponse.GetResponseStream();
                    StreamReader responseReader        = new StreamReader(webStream);
                    string       response = responseReader.ReadToEnd();

                    //tratamos la respuesta obtenida de Tmobility
                    response = response.Replace("\\", "");
                    response = response.Substring(1, response.Length - 2);

                    string comprobaciódatoInf = ",\"INF\":\"";
                    string comprobaciónError  = ",\"RES\":\"ERR\",";

                    //si la respuesta se detecta que continer el campo INF o ERRO informado
                    //damos por hecho que habido un error
                    bool comprobaciódatoCampoinfo   = response.Contains(comprobaciódatoInf);
                    bool comprobacióndatoCampoError = response.Contains(comprobaciónError);

                    if (comprobaciódatoCampoinfo || comprobacióndatoCampoError)
                    {
                        int indice_empieza = response.IndexOf(comprobaciódatoInf);

                        //contamos a partir del campo INF de la respuesta Jason (sumando las posiciones que ocupa INFO:(separaciones)
                        int principio_de_cadena = indice_empieza + 8;

                        //del total le restamos los 5 corchetes del final y buscamos el numero de posiciones que necesitamos recorrer
                        int final_cadena = response.Length - 5 - principio_de_cadena;

                        //obtenemos el mensaje de error
                        string Mensaje_de_error = response.Substring(principio_de_cadena, final_cadena);

                        MessageBox.Show("El pedido no se ha enviado correctamente error :" + Mensaje_de_error);
                    }
                    else
                    {
                        Files.Json.Planning_Vitogas_InsertDataSetTableAdapters.Order_Operator_SentTableAdapter tableAdapterOrderBitogas2 = new Files.Json.Planning_Vitogas_InsertDataSetTableAdapters.Order_Operator_SentTableAdapter();
                        var rowOrder_Operator_Sent = ds.Order_Operator_Sent.NewOrder_Operator_SentRow();
                        rowOrder_Operator_Sent.Id_Order  = Order.id;
                        rowOrder_Operator_Sent.StartDate = Order.startDate;
                        rowOrder_Operator_Sent.SendData  = DateTime.Now;
                        rowOrder_Operator_Sent.SendQueue = Quee;

                        //inserción tabla products
                        //agregamos la nueva fila a tabla Order_Operator_Sent
                        ds.Order_Operator_Sent.AddOrder_Operator_SentRow(rowOrder_Operator_Sent);

                        tableAdapterOrderBitogas2.Update(ds.Order_Operator_Sent);
                        MessageBox.Show("pedido insertado correctamente");
                    }
                }
                else
                {
                    MessageBox.Show("La planificiación ya ha sido enviada: ");
                }
                //responseReader.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show("Error es:" + e.ToString());
            }
        }