コード例 #1
0
        /// DS_002 07092017
        /// Verifica y actualiza el estado de los trackings

        private void BuscarNumeroRastreo()
        {
            string nombreCourier = "ups";
            string informacion   = string.Empty;

            Notificaciones("Start: " + DateTime.Now.ToString("HH:mm:ss"));

            DataTable datosTracking = oCourierLN.buscarNumeroTracking("buscaTracking", nombreCourier);

            if (datosTracking.Rows.Count > 0)
            {
                //Establece las Credenciales de Ups
                try
                {
                    ConnectionString.SetupUPSCredential("1D31883556A1614C");

                    TrackingUtilities utilities = new TrackingUtilities();

                    datosTracking.Columns.Add(new DataColumn("Estado"));
                    datosTracking.Columns.Add(new DataColumn("Firma"));
                    datosTracking.Columns.Add(new DataColumn("Fecha"));
                    datosTracking.Columns.Add(new DataColumn("Observacion"));

                    foreach (DataRow fila in datosTracking.Rows)
                    {
                        string   numeroTrack = fila[2].ToString().Trim(); //"1Z66753ED365962288";
                        string[] fechaHora;

                        utilities.GetTrackingResult(numeroTrack);

                        var result = utilities.ShippingResult;

                        if (result.Message.Length == 0)
                        {
                            if (result.Delivered) //Delivery
                            {
                                fechaHora = result.DeliveredDateTime.Split(' ');

                                fila[4] = result.Status;                                     //Estado de la carga
                                fila[5] = result.SignatureName;                              //Firma de Recibido
                                fila[6] = conversionCadenaFecha(result.DeliveredDateTime);   //Fecha Recepción
                                fila[7] = result.StatusSummary;
                            }
                            else //En Transito
                            {
                                if (result.Status.Length < 20)
                                {
                                    fila[4] = result.Status;                                    //Estado de la carga
                                    fila[6] = conversionCadenaFecha(result.PickupDate);         //Fecha Recepción
                                    fila[7] = result.StatusSummary;
                                }
                                else
                                {
                                    fila[6] = conversionCadenaFecha(result.PickupDate);         //Fecha Recepción
                                    fila[7] = result.Status;
                                }
                            }
                        }
                        else
                        {
                            Console.WriteLine("Error: " + result.Message);
                        }
                    }
                    //Ingresar la información en la base
                    informacion = oCourierLN.ingresaDatosProcedimiento("registraTracking", datosTracking);
                }
                catch (Exception ex)
                {
                    informacion = oCourierLN.ingresaDatosProcedimiento("registraTracking", datosTracking);
                    MessageBox.Show(informacion + "\n" + ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }

            //Inicia nuevamente el intervalo
            if (string.IsNullOrEmpty(informacion))
            {
                Console.WriteLine("Inicia: " + DateTime.Now.ToString("HH:mm:ss"));
                tiempoEspera.Start();
            }
            else
            {
                MessageBox.Show(informacion, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                Show();
            }
        }