コード例 #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                string page = Request.QueryString["num_pedido"];
                Session["source"] = Request.QueryString["source"];

                Order order = GetOrderDetailVtexAsync(page).Result;

                using (datosguiaEntities mot = new datosguiaEntities())
                {
                    var Motivos = from motivo in mot.motivos
                                  where motivo.estado == true
                                  select new { motivo.id, text = motivo.descripcion };

                    var    serializer = new JavaScriptSerializer();
                    string json       = serializer.Serialize(Motivos);
                    string script     = "var data = " + json + ";";
                    ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "dataVar", script, true);
                }
            }

            catch (Exception ex)
            {
                Console.WriteLine(ex.InnerException);
            }
        }
コード例 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string Valor  = Request.QueryString["num_pedido"];
            var    pedido = Valor;

            datosguiaEntities context = new datosguiaEntities();

            var query = context.info_guia.Where(x => x.num_pedido == pedido).ToList();

            string num_pedido = "";
            string num_guia   = "";
            string nombre     = "";
            string apellido   = "";
            string documento  = "";
            string email      = "";
            int    idmotivo   = 0;

            foreach (var item in query)
            {
                num_pedido = item.num_pedido;
                num_guia   = Convert.ToString(item.num_guia);
                nombre     = item.nombre;
                apellido   = item.apellido;
                documento  = item.num_documento;
                email      = item.email;
                idmotivo   = Convert.ToInt32(item.id_motivos);
            }

            string nomApell = $"{ nombre } { apellido } ";
            string guia     = num_guia;

            name.Text      = nomApell;
            numguia.Text   = guia;
            numpedido.Text = num_pedido;
        }
コード例 #3
0
        public void GenerarGuia_Click(object sender, EventArgs e)
        {
            var privacy  = Convert.ToString(policy.Value);
            var idMotivo = Convert.ToString(id_motivo.Value);

            if (privacy == "false" || idMotivo == "-1")
            {
                string privacyErr  = Convert.ToString(privacy);
                string idMotivoErr = idMotivo;
                ClientScript.RegisterStartupScript(this.GetType(), "Pli", $"ErrorPli( '" + privacyErr + "', '" + idMotivoErr + "' );", true);
            }
            else
            {
                string page = Request.QueryString["num_pedido"];
                if (page != null)
                {
                    var Information = GetOrderDetailVtexAsync(page).Result;

                    string[] serviciosSinDevoluion = ConfigurationManager.AppSettings["ServiciosSinDevolucion"].Split(',');
                    int      itemsSinDevolucion    = Information.Items.Where(i => i.BundleItems.Where(b => serviciosSinDevoluion.Contains(b.AdditionalInfo.OfferingTypeId)).Count() > 0).Count();

                    //Si ningun producto se puede devolver
                    if (itemsSinDevolucion == Information.Items.Count)
                    {
                        infoDevolucionNoPermitida(Information.OrderId);
                        return;
                    }


                    // informacion del Remitente
                    string nombre              = Information.ClientProfileData.FirstName;
                    string apellidos           = Information.ClientProfileData.LastName;
                    string telefono            = Information.ClientProfileData.Phone;
                    string alias               = Information.ClientProfileData.Email;
                    string ciudad              = Information.ShippingData.Address.City;
                    string direccion           = Information.ShippingData.Address.Street;
                    string DepartamentoDestino = Information.ShippingData.Address.State;
                    string CodigoPostal        = Information.ShippingData.Address.PostalCode + "000";
                    string num_pedido          = Information.OrderId;
                    string num_documento       = Information.ClientProfileData.Document;
                    string NomApell            = $"{ nombre } { apellidos }";

                    string numFactura;

                    if (Information.PackageAttachment.Packages.Count <= 0)
                    {
                        numFactura = "";
                    }
                    else
                    {
                        numFactura = Information.PackageAttachment.Packages[0].InvoiceNumber;
                    }

                    var infoEmail = GetEmailVtex($"http://conversationtracker.vtex.com.br/api/pvt/emailMapping?alias={alias}&an=offcorss",
                                                 headers, "");

                    string email = infoEmail.email;

                    // Informacion del Destinario.
                    string nombre_Des               = ConfigurationManager.AppSettings["nom_Des"];
                    string direccion_Des            = ConfigurationManager.AppSettings["direccion_Des"];
                    string telefono_Des             = ConfigurationManager.AppSettings["telefono_Des"];
                    string ciudad_Des               = ConfigurationManager.AppSettings["ciudad_Des"];
                    string NIT_Des                  = ConfigurationManager.AppSettings["Ide_Num_Identific_Dest"];
                    string departamento_Des         = ConfigurationManager.AppSettings["departamento_Des"];
                    string codigoPostal_Des         = ConfigurationManager.AppSettings["codigoPostal_Des"];
                    string email_Des                = ConfigurationManager.AppSettings["email_Des"];
                    int    valorDeclarado           = Convert.ToInt32(ConfigurationManager.AppSettings["ValorDeclaradoTotal"]);
                    string Des_UnidadLongitud       = ConfigurationManager.AppSettings["Des_UnidadLongitud"];
                    string Des_UnidadPeso           = ConfigurationManager.AppSettings["Des_UnidadPeso"];
                    string Nom_UnidadEmpaque        = ConfigurationManager.AppSettings["Nom_UnidadEmpaque"];
                    string Des_DiceContener         = ConfigurationManager.AppSettings["Des_DiceContener"];
                    string Ide_CodFacturacion       = ConfigurationManager.AppSettings["Ide_CodFacturacion"];
                    string Fec_TiempoEntrega        = ConfigurationManager.AppSettings["Fec_TiempoEntrega"];
                    int    Des_TipoTrayecto         = Convert.ToInt32(ConfigurationManager.AppSettings["Des_TipoTrayecto"]);
                    int    Num_Piezas               = Convert.ToInt32(ConfigurationManager.AppSettings["Num_Piezas"]);
                    int    Des_FormaPago            = Convert.ToInt32(ConfigurationManager.AppSettings["Des_FormaPago"]);
                    int    Des_MedioTransporte      = Convert.ToInt32(ConfigurationManager.AppSettings["Des_MedioTransporte"]);
                    int    Des_TipoDuracionTrayecto = Convert.ToInt32(ConfigurationManager.AppSettings["Des_TipoDuracionTrayecto"]);
                    string Nom_TipoTrayecto         = ConfigurationManager.AppSettings["Nom_TipoTrayecto"];
                    int    Num_Alto                 = Convert.ToInt32(ConfigurationManager.AppSettings["Num_Alto"]);
                    int    Num_Ancho                = Convert.ToInt32(ConfigurationManager.AppSettings["Num_Ancho"]);
                    int    Num_Largo                = Convert.ToInt32(ConfigurationManager.AppSettings["Num_Largo"]);
                    int    Num_PesoTotal            = Convert.ToInt32(ConfigurationManager.AppSettings["Num_Alto"]);
                    int    Ide_Producto             = Convert.ToInt32(ConfigurationManager.AppSettings["Ide_Producto"]);
                    int    Num_BolsaSeguridad       = Convert.ToInt32(ConfigurationManager.AppSettings["Num_BolsaSeguridad"]);
                    int    Num_VolumenTotal         = Convert.ToInt32(ConfigurationManager.AppSettings["Num_VolumenTotal"]);
                    int    Num_PesoFacturado        = Convert.ToInt32(ConfigurationManager.AppSettings["Num_PesoFacturado"]);

                    string ruta = ConfigurationManager.AppSettings["ruta_archivo"];

                    // Autenticación al servicio.
                    string login             = ConfigurationManager.AppSettings["login"];
                    string pwd               = ConfigurationManager.AppSettings["pw"];
                    string Id_CodFacturacion = ConfigurationManager.AppSettings["Id_CodFacturacion"];
                    string Nombre_Cargue     = ConfigurationManager.AppSettings["Nombre_Cargue"];

                    datosguiaEntities context = new datosguiaEntities();

                    var query = context.info_guia.Where(x => x.num_pedido == num_pedido).ToList();

                    if (query.Count > 0)
                    {
                        infoWarning(num_pedido);
                    }
                    else
                    {
                        #region GenGguia
                        GeneracionGuias prGuias = new GeneracionGuias();

                        prGuias.Url = "http://web.servientrega.com:8081/GeneracionGuias.asmx";

                        CargueMasivoExternoDTO[] cargueExtern = new CargueMasivoExternoDTO[1];

                        int cantEnvios = 1;
                        cargueExtern[0]           = new CargueMasivoExternoDTO();
                        cargueExtern[0].objEnvios = new EnviosExterno[cantEnvios];

                        //2. Inicio Parametros para autenticación al servicio
                        AuthHeader objautenti = new AuthHeader();

                        objautenti.login             = login;                            //Login de acceso de SISCLINET
                        objautenti.pwd               = prGuias.EncriptarContrasena(pwd); //Encriptar la contraseña del cliente
                        objautenti.Id_CodFacturacion = Id_CodFacturacion;                //Código de Facturación de SISCLINET
                        objautenti.Nombre_Cargue     = Nombre_Cargue;                    //Nombre del cargue, aparecerá en la impresión de guías desde la aplicación SISCLINET

                        prGuias.AuthHeaderValue = objautenti;                            //Asocio la autenticación al servicio web

                        for (int i = 0; i < cantEnvios; i++)
                        {
                            //3.Set de parametros del envío
                            cargueExtern[0].objEnvios[i] = new EnviosExterno();
                            var arrEnvios = new EnviosExterno();

                            //CARACTETISTICAS DEL ENVIO
                            arrEnvios.Num_Guia                 = 0;
                            arrEnvios.Num_Sobreporte           = 0;
                            arrEnvios.Num_SobreCajaPorte       = "0";
                            arrEnvios.Fec_TiempoEntrega        = Fec_TiempoEntrega;
                            arrEnvios.Des_TipoTrayecto         = Des_TipoTrayecto;
                            arrEnvios.Ide_CodFacturacion       = Ide_CodFacturacion;
                            arrEnvios.Num_Piezas               = Num_Piezas;
                            arrEnvios.Des_FormaPago            = Des_FormaPago; // Siempre va 2 Crédito
                            arrEnvios.Des_MedioTransporte      = Des_MedioTransporte;
                            arrEnvios.Des_TipoDuracionTrayecto = Des_TipoDuracionTrayecto;
                            arrEnvios.Nom_TipoTrayecto         = Nom_TipoTrayecto;
                            arrEnvios.Num_Alto                 = Num_Alto;
                            arrEnvios.Num_Ancho                = Num_Alto;
                            arrEnvios.Num_Largo                = Num_Alto;
                            arrEnvios.Num_PesoTotal            = Num_Alto;
                            arrEnvios.Des_UnidadLongitud       = Des_UnidadLongitud;
                            arrEnvios.Des_UnidadPeso           = Des_UnidadPeso;
                            arrEnvios.Nom_UnidadEmpaque        = Nom_UnidadEmpaque;
                            arrEnvios.Gen_Sobreporte           = false;
                            arrEnvios.Gen_Cajaporte            = false;
                            arrEnvios.Des_DiceContenerSobre    = Des_DiceContener;

                            //CAMPOS OPCIONALES CON CAIDA IMPRESA EN LA GUIA
                            arrEnvios.Doc_Relacionado            = num_pedido;
                            arrEnvios.Des_VlrCampoPersonalizado1 = NomApell;
                            arrEnvios.Ide_Num_Referencia_Dest    = "";
                            arrEnvios.Num_Factura = numFactura;

                            //TIPO DE PRODUCTO A UTILIZAR DE SERVIENTREGA
                            arrEnvios.Ide_Producto = Ide_Producto;//tipo de mercancia a cargar
                            arrEnvios.Num_Recaudo  = "0";


                            //OTRA INFORMACION, DEJAR SIEMPRE FIJA
                            Guid guid = new Guid("00000000-0000-0000-0000-000000000000");
                            arrEnvios.Ide_Destinatarios     = guid;
                            arrEnvios.Ide_Manifiesto        = guid;
                            arrEnvios.Num_BolsaSeguridad    = Num_BolsaSeguridad;
                            arrEnvios.Num_Precinto          = 0;
                            arrEnvios.Num_VolumenTotal      = Num_VolumenTotal;
                            arrEnvios.Des_DireccionRecogida = "";
                            arrEnvios.Des_TelefonoRecogida  = "";
                            arrEnvios.Des_CiudadRecogida    = "";
                            arrEnvios.Num_PesoFacturado     = 0;
                            arrEnvios.Des_TipoGuia          = 2;
                            arrEnvios.Id_ArchivoCargar      = "";
                            arrEnvios.Des_CiudadOrigen      = "0";

                            //arrEnvios.idePaisOrigen = 1;
                            //arrEnvios.idePaisDestino = 1;
                            //arrEnvios.Des_codigopostal = codigoPostal_Des;
                            //arrEnvios.Recoleccion_Esporadica = "";
                            //arrEnvios.Rem_codigopostal = CodigoPostal;

                            //Valores
                            arrEnvios.Num_ValorDeclaradoTotal      = valorDeclarado;
                            arrEnvios.Num_ValorLiquidado           = 0;
                            arrEnvios.Num_VlrSobreflete            = 0;
                            arrEnvios.Num_VlrFlete                 = 0;
                            arrEnvios.Num_Descuento                = 0;
                            arrEnvios.Num_ValorDeclaradoSobreTotal = "60000";

                            //Informacion Destinatario
                            arrEnvios.Des_Telefono            = telefono_Des;
                            arrEnvios.Des_Ciudad              = ciudad_Des;
                            arrEnvios.Des_DepartamentoDestino = departamento_Des;
                            arrEnvios.Des_Direccion           = direccion_Des;
                            arrEnvios.Nom_Contacto            = nombre_Des;
                            arrEnvios.Des_DiceContener        = Des_DiceContener;
                            arrEnvios.Ide_Num_Identific_Dest  = num_documento;
                            arrEnvios.Num_Celular             = "";
                            arrEnvios.Des_CorreoElectronico   = email_Des;

                            //Información del Remitente
                            arrEnvios.Des_CiudadRemitente    = CodigoPostal;
                            arrEnvios.Des_DireccionRemitente = direccion;
                            arrEnvios.Des_DepartamentoOrigen = "";
                            arrEnvios.Num_TelefonoRemitente  = telefono;
                            arrEnvios.Num_IdentiRemitente    = "";//num_documento si se envía falla la creación de la guía;
                            arrEnvios.Nom_Remitente          = nombre;

                            //MAYORISTA , NO APICA PARA CLIENTES
                            arrEnvios.Est_CanalMayorista = false;
                            arrEnvios.Nom_RemitenteCanal = "";

                            arrEnvios.Des_IdArchivoOrigen = "1000100";

                            cargueExtern[0].objEnvios[i] = arrEnvios;
                        }

                        //4. Consumo del método CargueMasivoExterno y captura la Guia de retorno
                        string[] respuesta             = new string[1];
                        byte[]   bytereport            = new byte[1];
                        int      sFormatoimpresionguia = -99;
                        string   sfile;

                        if (prGuias.CargueMasivoExterno(ref cargueExtern, ref respuesta))
                        {
                            //5. GenerarGuiaSticker como stream y retorno array de bytes
                            sFormatoimpresionguia = cargueExtern[0].objEnvios[0].Des_TipoGuia;
                            prGuias.GenerarGuiaSticker(decimal.Parse(respuesta[0].ToString()),
                                                       decimal.Parse(respuesta[respuesta.Length - 1].ToString()),
                                                       objautenti.Id_CodFacturacion, sFormatoimpresionguia,
                                                       cargueExtern[0].objEnvios[0].Id_ArchivoCargar,
                                                       false,
                                                       ref bytereport);

                            if (bytereport[0] == 0)
                            {
                                ErrByte();
                            }
                        }

                        int num_guia = Convert.ToInt32(cargueExtern[0].objEnvios[0].Num_Guia);

                        if (num_guia != 0)
                        {
                            string workingDirectory = Path.Combine(Server.MapPath(ruta));

                            //6. Impresión de los bytes de la guía en el navegador
                            if (sFormatoimpresionguia == 1) //6. Impresión de guía bond
                            {
                                //sfile = "c:\\reportsticker_" + respuesta[0] + ".pdf";
                                sfile = $@"{workingDirectory}\{NomApell}_{num_guia}.pdf";
                            }
                            else //6. Impresión de guía Sticker
                            {
                                sfile = $@"{workingDirectory}\{NomApell}_{num_guia}.pdf";
                            }

                            File.WriteAllBytes(sfile, bytereport);

                            #region FunEmail
                            if (SendMail(sfile, email, NomApell))
                            {
                                int motivos = Convert.ToInt32(id_motivo.Value);
                                #region InsertDataGuia
                                try
                                {
                                    info_guia bd = new info_guia
                                    {
                                        num_pedido    = num_pedido,
                                        num_guia      = num_guia,
                                        nombre        = nombre,
                                        apellido      = apellidos,
                                        telefono      = telefono,
                                        num_documento = num_documento,
                                        email         = email,
                                        direccion     = direccion,
                                        codigoPostal  = CodigoPostal,
                                        id_motivos    = motivos,
                                        source        = Session["source"] != null ? Session["source"].ToString() : ""
                                    };
                                    context.info_guia.Add(bd);
                                    context.SaveChanges();
                                }
                                catch (Exception ex)
                                {
                                    Console.WriteLine(ex.InnerException);
                                }

                                #endregion InsertDataGuia

                                string guia = Convert.ToString(num_guia);
                                //string motivo = Convert.ToString(motivos);

                                datosguiaEntities mot = new datosguiaEntities();
                                var query1            = from m in context.motivos
                                                        where m.id == motivos
                                                        select m;

                                var motinfo = query1.FirstOrDefault <motivos>();

                                string descMotivo = motinfo.descripcion;

                                SendMailAdmin(NomApell, email, num_documento, num_pedido, descMotivo, guia, sfile, numFactura);
                                Response.Redirect($"guiagenerada.aspx?num_pedido={page}");
                            }
                            else
                            {
                                string textError = $"Lo sentimos, la guía no pudo ser generada correctamente. Por favor comuniquese con el centro de ayuda de OFFCORSS";
                                ClientScript.RegisterStartupScript(GetType(), "Error", "ErrorModal('" + textError + "');", true);
                            }
                            #endregion funEmail

                            #endregion GenGguia
                        }
                        else
                        {
                            infoErrorOrder(num_pedido);
                        }
                    }
                }
                else
                {
                    infoErrorOrderNull();
                }
            }
        }