private void autorizar(GridItem gi)
        {
            try

            {
                Sesion session = new Sesion();

                session = (Sesion)Session["Sesion" + Session.SessionID];
                int verificador = -1;
                //string[] url = Request.Url.ToString().Split(new char[] { '/' });
                //string direccion ;
                PrecioEspecial pe = new PrecioEspecial();
                pe.Id_Emp = session.Id_Emp;
                pe.Id_Cd  = session.Id_Cd_Ver;
                pe.Id_Ape = Convert.ToInt32(gi.Cells[2].Text);
                int IdT = 2;

                CN_PrecioEspecial cn_precioespecial = new CN_PrecioEspecial();
                cn_precioespecial.ConsultaEnvio(ref pe, session.Emp_Cnx, ref verificador);

                RAM1.ResponseScripts.Add("return AbrirVentana_PrecioEspAutorizacion('" + pe.Ape_Unique + "','" + session.Id_Emp + "','" + session.Id_Cd_Ver + "','" + IdT + "')");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #2
0
        private List <VentanaPrecioEspecialPro> GetListPro()
        {
            try
            {
                List <VentanaPrecioEspecialPro> List = new List <VentanaPrecioEspecialPro>();
                Sesion session = new Sesion();
                string GUID    = Convert.ToString(Page.Request.QueryString["Id1"]);
                if (GUID == "")
                {
                    GUID = "-1";
                }

                session = (Sesion)Session["Sesion" + Session.SessionID];
                CN_PrecioEspecial cn_ape = new CN_PrecioEspecial();
                PrecioEspecial    ape    = new PrecioEspecial();
                ape.Id_Emp     = session.Id_Emp;
                ape.Id_Cd      = session.Id_Cd_Ver;
                ape.Ape_Unique = GUID;
                ape.Accion     = "4";
                cn_ape.ConsultaVentanaPrecioEspecialPro(ape, session.Emp_Cnx, ref List);
                return(List);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void eliminar(GridItem gi)
        {
            Sesion session2 = new Sesion();

            session2 = (Sesion)Session["Sesion" + Session.SessionID];
            if (gi.Cells[4].Text.ToString().ToLower() == "s" || gi.Cells[4].Text.ToString().ToLower() == "c")
            {
                CN_PrecioEspecial cn_precioespecial = new CN_PrecioEspecial();
                PrecioEspecial    p = new PrecioEspecial();
                p.Id_Ape = Convert.ToInt32(gi.Cells[2].Text);
                p.Id_Emp = session2.Id_Emp;
                p.Id_Cd  = session2.Id_Cd_Ver;
                int verificador = 0;
                cn_precioespecial.Eliminar(p, session2.Emp_Cnx, ref verificador);

                if (verificador == 1)
                {
                    Alerta("La solicitud se cancelo exitosamente");
                }
                else if (verificador == 2)
                {
                    Alerta("La solicitud se encuentra en estatus no valido para la cancelación");
                }
                else
                {
                    Alerta("Ocurrio un error al intentar cancelar la solicitud");
                }

                rg1.Rebind();
            }
            else
            {
                Alerta("La solicitud se encuentra en estatus no valido para la cancelación");
            }
        }
 private int CambiarEstatus(int Id_Ape, string estatus)
 {
     try
     {
         Sesion session = new Sesion();
         session = (Sesion)Session["Sesion" + Session.SessionID];
         CN_PrecioEspecial cn_precioespecial = new CN_PrecioEspecial();
         PrecioEspecial    ape = new PrecioEspecial();
         ape.Id_Emp      = session.Id_Emp;
         ape.Id_Cd       = session.Id_Cd_Ver;
         ape.Id_Ape      = Id_Ape;
         ape.Ape_Estatus = estatus;
         int verificador = -1;
         cn_precioespecial.EnviarPrecioEspecial(ape, session.Emp_Cnx, ref verificador);
         return(verificador);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Example #5
0
        private void Guardar()
        {
            try
            {
                Sesion session = new Sesion();
                session = (Sesion)Session["Sesion" + Session.SessionID];
                CapaDatos.Funciones funcion           = new CapaDatos.Funciones();
                CN_PrecioEspecial   clsPrecioEspecial = new CN_PrecioEspecial();
                var verificador = -1;
                List <VentanaPrecioEspecialPro> List    = new List <VentanaPrecioEspecialPro>();
                VentanaPrecioEspecialPro        ape_Prd = default(VentanaPrecioEspecialPro);

                for (int x = 0; x < rg1.Items.Count; x++)
                {
                    ape_Prd            = new VentanaPrecioEspecialPro();
                    ape_Prd.Id_Prd     = !string.IsNullOrEmpty(rg1.Items[x]["Id_Prd"].Text) ?  Convert.ToInt32(rg1.Items[x]["Id_Prd"].Text) : 0;
                    ape_Prd.Ape_VolVta = (rg1.Items[x].FindControl("txtVolVta") as RadNumericTextBox).Value.HasValue ? Convert.ToInt32((rg1.Items[x].FindControl("txtVolVta") as RadNumericTextBox).Text) : 0;
                    ape_Prd.Ape_PreVta = (rg1.Items[x].FindControl("txtPrecioVta") as RadNumericTextBox).Value.HasValue ? (double)(rg1.Items[x].FindControl("txtPrecioVta") as RadNumericTextBox).Value : 0;
                    ape_Prd.Ape_PreEsp = (rg1.Items[x].FindControl("txtPrecioAAAEsp") as RadNumericTextBox).Value.HasValue ? (double)(rg1.Items[x].FindControl("txtPrecioAAAEsp") as RadNumericTextBox).Value : 0;
                    if (!string.IsNullOrEmpty((rg1.Items[x]["Inicia"].FindControl("rdp_FecIni") as RadDatePicker).DbSelectedDate.ToString()))//(rg1.Items[x]["Inicia"].Text)))
                    {
                        ape_Prd.Ape_FecInicio = !string.IsNullOrEmpty((rg1.Items[x]["Inicia"].FindControl("rdp_FecIni") as RadDatePicker).DbSelectedDate.ToString()) ? Convert.ToDateTime((rg1.Items[x]["Inicia"].FindControl("rdp_FecIni") as RadDatePicker).DbSelectedDate.ToString()) : DateTime.MinValue;
                    }
                    else
                    {
                        ape_Prd.Ape_FecInicio = DateTime.MinValue;
                    }

                    if (!string.IsNullOrEmpty((rg1.Items[x]["Vigencia"].FindControl("rdp_FecVigencia") as RadDatePicker).DbSelectedDate.ToString()))//(rg1.Items[x]["Vigencia"].Text)))
                    {
                        ape_Prd.Ape_FecFin = !string.IsNullOrEmpty((rg1.Items[x]["Vigencia"].FindControl("rdp_FecVigencia") as RadDatePicker).DbSelectedDate.ToString()) ? Convert.ToDateTime((rg1.Items[x]["Vigencia"].FindControl("rdp_FecVigencia") as RadDatePicker).DbSelectedDate.ToString()) : DateTime.MinValue;
                    }
                    else
                    {
                        ape_Prd.Ape_FecFin = DateTime.MinValue;
                    }

                    if (ape_Prd.Id_Prd == 0 || ape_Prd.Ape_VolVta == 0 || ape_Prd.Ape_PreVta == 0 || ape_Prd.Ape_FecInicio == DateTime.MinValue || ape_Prd.Ape_FecFin == DateTime.MinValue)
                    {
                        Alerta("Todos los campos son requeridos en el grid");
                        return;
                    }

                    if ((rg1.Items[x]["Autorizar"].FindControl("chkAutorizar") as RadioButton).Checked)
                    {
                        ape_Prd.Ape_Estatus = "A";
                    }
                    else
                    if ((rg1.Items[x]["Rechazado"].FindControl("chkRechazar") as RadioButton).Checked)
                    {
                        ape_Prd.Ape_Estatus = "R";
                    }
                    else
                    {
                        Alerta("Todas las partidas deben ser autorizadas o rechazadas");
                        return;
                    }

                    if (ape_Prd.Ape_FecInicio > ape_Prd.Ape_FecFin)
                    {
                        Alerta("Revise los rangos de fechas de vigencia antes de guardar la aprobación");
                        return;
                    }
                    //if (Convert.ToInt32(ape_Prd.Ape_FecInicio.ToString("MM")) < 3 && Convert.ToInt32(ape_Prd.Ape_FecFin.ToString("MM")) > 3)
                    //{
                    //    Alerta("La vigencia solo puede ser hasta el mes de Marzo, si el inicio es antes de dicho mes");
                    //    return;
                    //}
                    //ape_Prd.Ape_PreEsp = !string.IsNullOrEmpty(rg1.Items[x]["Ape_PreEsp"].Text) ? Convert.ToDouble((rg1.Items[x]["Ape_PreEsp"].FindControl("txtPrecioAAAEsp") as RadNumericTextBox).Text) : 0.00;
                    //if (ape_Prd.Ape_PreEsp <= 0.00)
                    //{
                    //    Alerta("El precio AAA Especial no debe ser ");
                    //    return;
                    //}
                    ape_Prd.Ape_FecAut = funcion.GetLocalDateTime(session.Minutos);
                    List.Add(ape_Prd);
                }

                PrecioEspecial ape = new PrecioEspecial();
                ape.Id_Emp           = session.Id_Emp;
                ape.Id_Cd            = session.Id_Cd_Ver;
                ape.Id_Ape           = Convert.ToInt32(lblFolio.Text);
                ape.Ape_NotaResp     = txtNotaResp.Text;
                ape.Accion           = HF_Tipo.Value;
                ape.Ape_Convenio     = txtNumConvenio.Text;
                ape.Ape_NumProveedor = Convert.ToInt32(cmbProveedor.SelectedValue);
                ape.Ape_NumUsuario   = txtNumUsuario.Text;



                clsPrecioEspecial.AutorizarPrecioEspecial(ape, session.Emp_Cnx, List, ref verificador);

                if (verificador == 1)
                {
                    EnviaEmail();
                    Alerta("Se atendió correctamente la solicitud <b>#" + lblFolio.Text + "</b>");
                    Inicializar();
                }
                else
                {
                    Alerta("Ocurrió un error al intentar atender la solicitud #" + lblFolio.Text);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #6
0
        private void Inicializar()
        {
            try
            {
                Nuevo();

                Sesion session = new Sesion();
                session = (Sesion)Session["Sesion" + Session.SessionID];



                string IdSol = Request.Params["Id1"] != null ? Request.Params["Id1"].ToString() : "";
                string IdEmp = Request.Params["Id2"] != null ? Request.Params["Id2"].ToString() : "";
                string IdCd  = Request.Params["Id3"] != null ? Request.Params["Id3"].ToString() : "";

                if (session.Id_Emp.ToString() == IdEmp)
                {
                    if (session.Id_Cd_Ver.ToString() == IdCd)
                    {
                        if (IdSol != "")
                        {
                            int verificador          = -1;
                            CN_PrecioEspecial cn_ape = new CN_PrecioEspecial();
                            PrecioEspecial    ape    = new PrecioEspecial();
                            ape.Id_Emp     = session.Id_Emp;
                            ape.Id_Cd      = session.Id_Cd_Ver;
                            ape.Ape_Unique = IdSol;

                            cn_ape.ConsultaProAutPrecioEspecial(ref ape, session.Emp_Cnx, ref verificador);

                            if (verificador == -1)
                            {
                                Alerta("No se encontro la solicitud");
                            }
                            else
                            {
                                HF_Tipo.Value         = ape.Ape_Naturaleza;
                                lblSucursalId.Text    = ape.Id_Cd.ToString();
                                lblSucursal.Text      = "- " + ape.Cd_Nombre;
                                lblSolicitanteId.Text = ape.Id_U.ToString();
                                lblSolicitante.Text   = "- " + ape.U_Nombre;
                                lblFolio.Text         = ape.Id_Ape.ToString();
                                lblFecSol.Text        = ape.Ape_Fecha.Value.ToString("dd/MM/yyyy hh:mm:ss tt");
                                txtNumConvenio.Text   = ape.Ape_Convenio;
                                txtNumUsuario.Text    = ape.Ape_NumUsuario;

                                txtNotaSol.Text  = ape.Ape_Nota;
                                txtNotaResp.Text = ape.Ape_NotaResp;

                                cmbProveedor.SelectedIndex = cmbProveedor.FindItemIndexByValue(ape.Ape_NumProveedor.ToString());
                                cmbProveedor.Text          = cmbProveedor.FindItemByValue(ape.Ape_NumProveedor.ToString()).Text;
                            }
                        }
                        else
                        {
                            Alerta("No se encontro la solicitud");
                        }
                    }
                    else
                    {
                        Alerta("La solicitud no pertenece al centro de distribución en el que se encuentra");
                    }
                }
                else
                {
                    Alerta("La solicitud no pertenece a la empresa en la que inicio sesión");
                }

                rgCliente.Rebind();
                rg1.Rebind();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void EnviaEmail(int Id_Ape)
        {
            try
            {
                Sesion session = new Sesion();
                session = (Sesion)Session["Sesion" + Session.SessionID];
                int            verificador = -1;
                PrecioEspecial pe          = new PrecioEspecial();
                pe.Id_Emp = session.Id_Emp;
                pe.Id_Cd  = session.Id_Cd_Ver;
                pe.Id_Ape = Id_Ape;

                CN_PrecioEspecial cn_precioespecial = new CN_PrecioEspecial();
                cn_precioespecial.ConsultaEnvio(ref pe, session.Emp_Cnx, ref verificador);

                if (CambiarEstatus(Id_Ape, "S") != 1)
                {
                    Alerta("Ocurrió un error al intentar realizar la solicitud");
                    return;
                }

                ConfiguracionGlobal configuracion = new ConfiguracionGlobal();
                configuracion.Id_Cd  = session.Id_Cd_Ver;
                configuracion.Id_Emp = session.Id_Emp;
                CN_Configuracion cn_configuracion = new CN_Configuracion();
                cn_configuracion.Consulta(ref configuracion, session.Emp_Cnx);

                StringBuilder cuerpo_correo = new StringBuilder();
                cuerpo_correo.Append("<div align='center'>");
                cuerpo_correo.Append("<table><tr><td>");
                cuerpo_correo.Append("<IMG SRC=\"cid:companylogo\" ALIGN='left'></td>");
                cuerpo_correo.Append("<td></td>");
                cuerpo_correo.Append("</tr><tr><td colspan='2'><br><br><br></td>");
                cuerpo_correo.Append("</tr><tr>");
                cuerpo_correo.Append("<td colspan='2'><b><font face='Tahoma' size='2'>");
                cuerpo_correo.Append("Se ha colocado una solicitud de autorización de precios especiales con el número de solicitud " + Id_Ape);
                if (pe.Ape_Sustituye != null)
                {
                    cuerpo_correo.Append(" que sustituye a la solicitud #" + pe.Ape_Sustituye);
                }

                cuerpo_correo.Append(", de la sucursal " + session.Id_Cd_Ver);
                cuerpo_correo.Append("</td></tr><tr><td colspan='2'>");
                string[] url = Request.Url.ToString().Split(new char[] { '/' });

                cuerpo_correo.Append("<center><br>");
                cuerpo_correo.Append("<a href='" + Request.Url.ToString().Replace(url[url.Length - 1], "") + "ProPrecioEspecial_Autorizacion.aspx?Id1=" + pe.Ape_Unique + "&Id2=" + session.Id_Emp + "&Id3=" + session.Id_Cd_Ver + "&Id4=1" + "'>");
                cuerpo_correo.Append("Solicitud de autorización de precios especiales</a></font></center>");
                cuerpo_correo.Append("</td></tr></table></div>");

                SmtpClient sm = new SmtpClient(configuracion.Mail_Servidor, Convert.ToInt32(configuracion.Mail_Puerto));
                sm.Credentials = new NetworkCredential(configuracion.Mail_Usuario, configuracion.Mail_Contraseña);
                //sm.EnableSsl = true;
                MailMessage m = new MailMessage();
                m.From = new MailAddress(configuracion.Mail_Remitente);
                m.To.Add(new MailAddress(ConsultarEmail(pe.Ape_Solicitar)));
                m.CC.Add(new MailAddress("*****@*****.**"));
                m.CC.Add(new MailAddress("*****@*****.**"));
                m.Subject    = "Solicitud de autorización de precios especiales #" + Id_Ape + " del centro " + session.Id_Cd_Ver;
                m.IsBodyHtml = true;
                string        body      = cuerpo_correo.ToString();
                AlternateView vistaHtml = AlternateView.CreateAlternateViewFromString(body, null, MediaTypeNames.Text.Html);
                //Esto queda dentro de un try por si llegan a cambiar la imagen el correo como quiera se mande
                try
                {
                    LinkedResource logo = new LinkedResource(MapPath(@"Imagenes/logo.jpg"), MediaTypeNames.Image.Jpeg);
                    logo.ContentId = "companylogo";
                    vistaHtml.LinkedResources.Add(logo);
                }
                catch (Exception)
                {
                }

                m.AlternateViews.Add(vistaHtml);
                try
                {
                    sm.Send(m);
                }
                catch (Exception)
                {
                    CambiarEstatus(Id_Ape, "C");
                    Alerta("Error al enviar el correo. Favor de revisar la configuración del sistema");
                    return;
                }
                Alerta("Solicitud enviada correctamente");
                rg1.Rebind();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private DataTable GetList()
        {
            try
            {
                List <AutPrecioEspecial> List = new List <AutPrecioEspecial>();
                CN_PrecioEspecial        clsCN_CapProAutPrecioEspecial = new CN_PrecioEspecial();
                Sesion session2 = new Sesion();
                session2 = (Sesion)Session["Sesion" + Session.SessionID];
                AutPrecioEspecial AutPrecioEspecial = new AutPrecioEspecial();
                AutPrecioEspecial.Id_Emp = session2.Id_Emp;
                AutPrecioEspecial.Id_Cd  = session2.Id_Cd_Ver;
                if (txtFolioIni.Text != "")
                {
                    AutPrecioEspecial.Folio1 = Convert.ToInt32(txtFolioIni.Text);
                }
                if (txtFolioFin.Text != "")
                {
                    AutPrecioEspecial.Folio2 = Convert.ToInt32(txtFolioFin.Text);
                }
                if (dpFechaIni.SelectedDate != null)
                {
                    AutPrecioEspecial.Fecha1 = dpFechaIni.SelectedDate;
                }
                if (dpFechaFin.SelectedDate != null)
                {
                    AutPrecioEspecial.Fecha2 = Convert.ToDateTime(dpFechaFin.SelectedDate.Value.ToString("dd/MM/yyyy")).AddDays(1).AddSeconds(-1);
                }
                AutPrecioEspecial.Estatus = cmbEstatus.SelectedValue;
                if (txtClienteIni.Text != "")
                {
                    AutPrecioEspecial.Id_CteFiltro1 = Convert.ToInt32(txtClienteIni.Text);
                }
                if (txtClienteFin.Text != "")
                {
                    AutPrecioEspecial.Id_CteFiltro2 = Convert.ToInt32(txtClienteFin.Text);
                }
                // if (string.IsNullOrEmpty(txtSolicitud.Text)) AutPrecioEspecial.Solicitud = Convert.ToInt32(txtSolicitud.Text);

                clsCN_CapProAutPrecioEspecial.ConsultaProAutPrecioEspecial_Lista(AutPrecioEspecial, session2.Emp_Cnx, ref List);

                dt.Clear();
                foreach (AutPrecioEspecial precEsp in List)
                {
                    int Vencido = 0;
                    clsCN_CapProAutPrecioEspecial.ConsultaProAutPrecioEspecialVencido(ref Vencido, session2.Id_Emp, session2.Id_Cd_Ver, precEsp.Id_Ape, session2.Emp_Cnx);

                    switch (Vencido)
                    {
                    case 1:
                        precEsp.VencidoStr = "Parcial";     //solicitud parcialmente expirada
                        break;

                    case 2:
                        precEsp.VencidoStr = "Si";     //todas las partidas están expiradas (toda la solicitud)
                        break;

                    case 3:
                        precEsp.VencidoStr = "No";     //ninguna partida de la solicitud está expirada
                        break;
                    }

                    DataRow row = dt.NewRow();
                    row["Ape_Estatus"]      = precEsp.Ape_Estatus;
                    row["Ape_EstatusStr"]   = precEsp.Ape_EstatusStr;
                    row["Ape_Fecha"]        = precEsp.Ape_Fecha;
                    row["Cte_NomComercial"] = precEsp.Cte_NomComercial;
                    row["Id_Ape"]           = precEsp.Id_Ape;
                    row["Id_Cte"]           = precEsp.Id_Cte;
                    row["Vencido"]          = Vencido;
                    row["VencidoStr"]       = precEsp.VencidoStr;

                    if (cmbVencido.SelectedValue != "-1")
                    {
                        if (row["Vencido"].ToString() == cmbVencido.SelectedValue)
                        {
                            dt.Rows.Add(row);
                        }
                    }
                    else
                    {
                        dt.Rows.Add(row);
                    }
                }
                return(dt);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }