Esempio n. 1
0
        public string SolicitarRecoleccionCF()
        {
            GuiaDAO guiaDAO = new GuiaDAO();

            Guia[] guias = { this._guia };
            //var resultado = this._client.busquedaCodigoPostal(PIN, IDUSUARIO, guias);
            this._guia.fechaDocumentacion          = DateTime.Now;
            this._guia.personaRecibio              = "Printomatik";
            this._guia.costoSeguro                 = this._guia.paquetes.Sum(x => x.peso); // Total en peso
            this._guia.costoSeguroSpecified        = true;
            this._guia.referencia                  = null;
            this._guia.fechaSituacion              = DateTime.Now;
            this._guia.fechaDocumentacionSpecified = true;
            this._guia.situacion = new IdDesc {
                id = 0, idSpecified = true
            };                                                                   //Numero de sobres a recolectar
            this._guia.tipoEntrega = new IdDesc {
                id = this._guia.paquetes.Count(), idSpecified = true
            };                                                                                             //Numero de paquetes a recolectar
            this._guia.remitente.codigoPostal = 33332;
            this._guia.remitente.email        = "DE 4 A 5 DE LA TARDE";
            this._guia.moneda  = "1x1x1";
            this._guiaResponse = this._client.solicitudRecoleccionCF(PIN, IDUSUARIO, guias).FirstOrDefault();

            this.verificaResultado();
            string folioRecoleccion = this._guiaResponse.referencia;

            guiaDAO.AgregarFolioRecoleccion(this._guia.numeroDeGuia, folioRecoleccion);
            return(folioRecoleccion);
        }
Esempio n. 2
0
        public int Predocumentar()
        {
            Guia[]        guias      = { this._guia };
            PaqueteDAO    paqueteDAO = new PaqueteDAO();
            GuiaDAO       guiaDAO    = new GuiaDAO();
            List <byte[]> paginas    = new List <byte[]>();

            this._guiaResponse = this._client.predocumentacion(PIN, IDUSUARIO, guias).FirstOrDefault();

            int res = this.verificaResultado();

            if (res == 58)
            {
                return(res);
            }


            this._guiaResponse.paquetes.ToList().ForEach(x => paginas.Add(x.formatoEtiqueta));
            byte[] archivoUnido = this.concatAndAddContent(paginas);

            PaqueteEnvio paqueteDTO = new PaqueteEnvio()
            {
                numero_guia       = this._guia.numeroDeGuia,
                detalle_impresion = archivoUnido,
                numero_orden      = this._guia.referencia,
            };

            guiaDAO.MarcarGuiaAsignada(this._guia.numeroDeGuia);
            paqueteDAO.AgregarPaquete(paqueteDTO);
            return(0);
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            GuiaViewModel model      = new GuiaViewModel();
            ClienteDAO    clienteDAO = new ClienteDAO();
            OrdenDAO      ordenDAO   = new OrdenDAO();
            GuiaDAO       guiaDAO    = new GuiaDAO();
            Guia          guia       = new Guia();


            model.numeroOrden   = "400000255";
            model.observaciones = "Cajas con contenido frágil";



            var orden = ordenDAO.ObtenerPorID(model.numeroOrden);

            if (orden == null)
            {
                Console.WriteLine($"La orden {model.numeroOrden} no esta registrada");
                return;
            }
            //if (ordenDAO.TieneGuiaAsignada(model.numeroOrden))
            //{
            //    Console.WriteLine($"La orden {model.numeroOrden} se le asignó una guia anteriormente");
            //    return;
            //}


            model.paquetes = new List <PaqueteViewModel>()
            {
                new PaqueteViewModel()
                {
                    peso = 1f
                },
                new PaqueteViewModel()
                {
                    peso = 1f
                },
                new PaqueteViewModel()
                {
                    peso = 1f
                },
                new PaqueteViewModel()
                {
                    peso = 1f
                },
                new PaqueteViewModel()
                {
                    peso = 1f
                },
                new PaqueteViewModel()
                {
                    peso = 1f
                },
                new PaqueteViewModel()
                {
                    peso = 1f
                },
                new PaqueteViewModel()
                {
                    peso = 1f
                }
            };


            var cliente = clienteDAO.ObtenerPorID(orden.id_cliente);


            guia.referencia    = model.numeroOrden;
            guia.observaciones = model.observaciones;



            List <Paquete> paquetes = new List <Paquete>();
            int            i        = 1;

            model.paquetes.ToList().ForEach(item =>
            {
                paquetes.Add(new Paquete()
                {
                    alto           = 1,
                    ancho          = 1,
                    largo          = 1,
                    largoSpecified = true,
                    altoSpecified  = true,
                    anchoSpecified = true,
                    pesoSpecified  = true,
                    descripcion    = "Paquete " + (i++),
                    peso           = item.peso,
                });
            });

            guia.paquetes = paquetes.ToArray();


            guia.consignatario = new Direccion()
            {
                calle                 = $"{orden.calle.ToUpper()}  {orden.estado.ToUpper()}",
                codigoPostal          = int.Parse(orden.codigo_postal),
                codigoPostalSpecified = true,
                email                 = cliente.email.ToLower(),
                contacto              = $"{cliente.nombre.ToUpper()} {cliente.apellidos.ToUpper()}",
                telefonos             = new List <Telefono> {
                    new Telefono {
                        telefono = orden.telefono
                    }
                }.ToArray()
            };


            RedPack redpack = new RedPack(guia);

            guia.numeroDeGuia = guiaDAO.ObtenerGuiaDisponible(1);
            guia.tipoServicio = new IdDesc()
            {
                id = 1, idSpecified = true, descripcion = "EXPRESS", equivalencia = "EXPRESS"
            };
            //guia.tipoServicio = new IdDesc() { id = 2, idSpecified = true, descripcion = "ECOEXPRESS", equivalencia = "ECOEXPRESS" };



            //guia.numeroDeGuia = guiaDAO.ObtenerGuiaDisponible(2);
            //guia.tipoServicio = new IdDesc() { id = 2, idSpecified = true, descripcion = "ECOEXPRESS", equivalencia = "ECOEXPRESS" };


            //int res=  redpack.Predocumentar();
            //   Console.WriteLine(res);
            while (redpack.Predocumentar() == 58)
            {
                Console.WriteLine($"Consumiendo el numero de guia {guia.numeroDeGuia}");
                guia.numeroDeGuia = guiaDAO.ObtenerGuiaDisponible(1);
                guiaDAO.MarcarGuiaAsignada(guia.numeroDeGuia);
            }

            string folioRecoleccion = redpack.SolicitarRecoleccionCF();

            Console.WriteLine($"Generacion de Guia {guia.numeroDeGuia} con el folio { folioRecoleccion} para la orden {model.numeroOrden}");

            Console.ReadLine();
        }