none
Rotativa PDF problemas con Session RRS feed

  • Pregunta

  • Hola comunidad buenas tardes tengo el siguiente problema, necesito generar un pdf el cual estoy ocupando Rotativa tengo ingresado el siguiente metodo action result para generar el pdf 

    public ActionResult GeneradorPDF()
            {
                return new ViewAsPdf("WebConsDespConsoli")
                {
                    FileName = Server.MapPath("~/Content/Consolidador.pdf")
                };
            }

    el cual me deriva al siguiente metodo el cual me esta imprimiendo el pdf pero de la pagina login ya que al entrar al if el metodo del Rotativa pdf no reconoce la session la cual si esta funcionando necesito que entre, al borrarl el if y el else como prueba tambien me indica error ya que mi consulta a la bdd la tengo con el session de usuario y clave. AYUDA!!!

    public class ConsultaDespachosConsolidadoresController : Controller
        {
            TemplateAerosan.Models.Conexion instcon = new TemplateAerosan.Models.Conexion();
            // GET: ConsultaDespachosConsolidadores
            public ActionResult WebConsDespConsoli()
            {
                string txtFechaInicial = Request.Form["txtFechaInicial"];
                string txtFechaFinal = Request.Form["txtFechaFinal"];
                instcon.Conectar();
    
                string comando = "SELECT M.NUMMANIFIESTO, G.GUIAMADRE,G.NUMGUIA AWB, r.peso PESO, r.CANT_BULTOS BULTOS,TO_CHAR(r.fecha_despacho,'DD/MM/YYYY') FECHA,DECODE(R.COD_AGENTE,'48','PARTICULAR',R.COD_AGENTE) AGENTE";
                comando = comando + " FROM registro_da r, papeletas p, manifiestos m, guias g, guias g1 WHERE r.fecha_despacho between to_date('"+txtFechaInicial+ "','dd/mm/yyyy') and to_date('"+ txtFechaFinal + "','dd/mm/yyyy')+.9999";
                comando = comando + " AND R.DESPACHADA <> 'A' and r.numpapeleta = p.numpapeleta and p.manifiesto_id = m.manifiesto_id and r.numpapeleta = g.numpapeleta and r.numguia = g.numguia";
                comando = comando + " and g.tipoguia in ('H','0') and g.numpapeleta = g1.numpapeleta(+) and g.guiamadre = g1.numguia(+) AND G1.TIPOGUIA='M' AND G1.CODCONSOLIDADOR='"+ Session["EmpresaUsaurioLogin"] + "' ORDER BY M.NUMMANIFIESTO, G.GUIAMADRE,G.NUMGUIA ASC";
    
                OracleCommand consulta = new OracleCommand(comando, instcon.Conex());
    
                //consulta.Parameters.Add(":fechaInicial", txtFechaInicial);
                //consulta.Parameters.Add(":fechaFinal", txtFechaFinal);
    
                OracleDataReader lector = consulta.ExecuteReader();
    
                List<TemplateAerosan.Models.WebConsDespConsoli> lst = new List<TemplateAerosan.Models.WebConsDespConsoli>();
    
                while (lector.Read())
                {
                    TemplateAerosan.Models.WebConsDespConsoli d = new TemplateAerosan.Models.WebConsDespConsoli();
    
                    d.nummanifiesto = lector.GetString(0);
                    d.guiamadre = lector.GetString(1);
                    d.numguia = lector.GetString(2);
                    d.peso = lector.GetDecimal(3);
                    d.cant_bultos = lector.GetInt32(4);
                    d.fecha_despacho = lector.GetString(5);
                    d.cod_agente = lector.GetString(6);
    
                    lst.Add(d);
    
                }
    
                //CARGAR MENU
                string comandoDos = "SELECT U.RUT, U.CLAVE, U.NOMBRE, U.ESTADO, S.DESCRIPCION, U.EMPRESA";
                comandoDos = comandoDos + " FROM WEB_USUARIOS U";
                comandoDos = comandoDos + " JOIN WEB_USUARIOS_ACCESOS A";
                comandoDos = comandoDos + " ON (U.RUT = A.RUT)";
                comandoDos = comandoDos + " JOIN WEB_USUARIOS_SISTEMAS S";
                comandoDos = comandoDos + " ON (A.SISTEMA = S.SISTEMA)";
                comandoDos = comandoDos + " WHERE U.RUT = '"+ Session["UsuarioLogin"] + "'";
                comandoDos = comandoDos + " AND U.CLAVE = '"+ Session["ClaveLogin"] + "'";
    
                OracleCommand consultaDos = new OracleCommand(comandoDos, instcon.Conex());
    
                OracleDataReader lectorDos = consultaDos.ExecuteReader();
    
                List<TemplateAerosan.Models.WebUsuarios> lstWDos = new List<TemplateAerosan.Models.WebUsuarios>();
    
                while (lectorDos.Read())
                {
                    TemplateAerosan.Models.WebUsuarios w = new TemplateAerosan.Models.WebUsuarios();
                    w.descripcion = lectorDos.GetString(4);
                    ViewBag.NombreUsuario = lectorDos.GetString(2);
                    lstWDos.Add(w);
    
                }
    
                if (Session["UsuarioLogin"] != null)
                {
                    ViewBag.listaConsoli = lst;
                    ViewBag.listaUsuariosData = lstWDos;
    
                    return View("~/Views/ConsultaDespachosConsolidadores/WebConsDespConsoliRes.cshtml");
                }
                else
                {
                    return View("~/Views/Login/InicioSesion.cshtml");
                }
    
    
    
            }

    viernes, 31 de mayo de 2019 19:37

Respuestas

  • Hola  

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te hago la recomendación de ingresar al siguiente enlace en donde puedes encontrar una posible solución para tu problema.

    https://social.msdn.microsoft.com/Forums/es-ES/e3b45ee7-a48d-4be2-8884-9b4bfa2b5eef/generar-archivos-pdf-con-rotativa?forum=aspnetmvces

    Gracias por usar los foros de MSDN.

    Carlos Ruiz
     ____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.


    lunes, 3 de junio de 2019 17:25
  • Has probado a usar el método ActionAsPdf() en vez de ViewAsPdf()? 

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    lunes, 3 de junio de 2019 20:00
    Moderador

Todas las respuestas

  • Hola  

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te hago la recomendación de ingresar al siguiente enlace en donde puedes encontrar una posible solución para tu problema.

    https://social.msdn.microsoft.com/Forums/es-ES/e3b45ee7-a48d-4be2-8884-9b4bfa2b5eef/generar-archivos-pdf-con-rotativa?forum=aspnetmvces

    Gracias por usar los foros de MSDN.

    Carlos Ruiz
     ____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.


    lunes, 3 de junio de 2019 17:25
  • Has probado a usar el método ActionAsPdf() en vez de ViewAsPdf()? 

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    lunes, 3 de junio de 2019 20:00
    Moderador