示例#1
0
    protected void btnExport_Click(object sender, EventArgs e)
    {
        if (!DatosOk())
        {
            return;
        }
        string          instid = "-1", t_disp_id = "-1";
        string          informe         = tipo_informe;
        string          nombreFichero   = string.Empty;
        string          directorio      = MapPath("/") + "\\Repo";
        ReportProcessor reportProcessor = new ReportProcessor();
        RenderingResult renderingResult = null;
        string          nombre          = "";

        switch (tipo_informe)
        {
        case "RptResumenEmpresaInstalacion":
            if (rcbInstalacion.SelectedValue != RCD_EMPTY)
            {
                if (rcbTipoDispositivo.SelectedValue != RCD_EMPTY)
                {
                    informe = "RptResumenEmpresa";
                    if (tipo_dispositivo != null)
                    {
                        t_disp_id = tipo_dispositivo.TipoId.ToString();
                        if (instalacion == null)
                        {
                            nombreFichero = String.Format("EXP{0:0000000}_Instalaciones_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, t_disp_id, usuario.UsuarioId);
                        }
                        else
                        {
                            instid        = instalacion.InstalacionId.ToString();
                            nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{2:0000000}_{3:0000}.pdf", empresa.EmpresaId, instid, t_disp_id, usuario.UsuarioId);
                        }
                    }
                    else
                    {
                        if (instalacion == null)
                        {
                            nombreFichero = String.Format("EXP{0:0000000}_Instalaciones_{1:0000}.pdf", empresa.EmpresaId, usuario.UsuarioId);
                        }
                        else
                        {
                            instid        = instalacion.InstalacionId.ToString();
                            nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, instid, usuario.UsuarioId);
                        }
                    }

                    RptResumenEmpresa rptR = new RptResumenEmpresa(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(instid), int.Parse(instid), ctx);
                    nombre          = String.Format("Resumen Revisiones {0:dd/MM/yyyy} {1:dd/MM/yyyy}", desdeFecha, hastaFecha);
                    renderingResult = reportProcessor.RenderReport("PDF", rptR, null);
                }
                else
                {
                    if (instalacion != null)
                    {
                        instid        = instalacion.InstalacionId.ToString();
                        nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, instid, usuario.UsuarioId);
                    }
                    else
                    {
                        nombreFichero = String.Format("EXP{0:0000000}_Instalaciones_{1:0000}.pdf", empresa.EmpresaId, usuario.UsuarioId);
                    }

                    RptResumenEmpresaInstalacion rptR = new RptResumenEmpresaInstalacion(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(instid), ctx);
                    nombre          = String.Format("Resumen Revisiones {0:dd/MM/yyyy} {1:dd/MM/yyyy}", desdeFecha, hastaFecha);
                    renderingResult = reportProcessor.RenderReport("PDF", rptR, null);
                }
            }
            else if (rcbTipoDispositivo.SelectedValue != RCD_EMPTY)
            {
                informe = "RptResumenEmpresaTipoDispositivo";
                if (tipo_dispositivo != null)
                {
                    t_disp_id     = tipo_dispositivo.TipoId.ToString();
                    nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, t_disp_id, usuario.UsuarioId);
                }
                else
                {
                    nombreFichero = String.Format("EXP{0:0000000}_{1:0000}.pdf", empresa.EmpresaId, usuario.UsuarioId);
                }

                RptResumenEmpresaTipoDispositivo rptR = new RptResumenEmpresaTipoDispositivo(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(t_disp_id), ctx);
                nombre          = String.Format("Resumen Revisiones {0:dd/MM/yyyy} {1:dd/MM/yyyy}", desdeFecha, hastaFecha);
                renderingResult = reportProcessor.RenderReport("PDF", rptR, null);
            }
            break;

        case "RptFacturableEmpresaInstalacion":
            if (rcbInstalacion.SelectedValue != RCD_EMPTY)
            {
                if (rcbTipoDispositivo.SelectedValue != RCD_EMPTY)
                {
                    informe = "RptFacturableEmpresa";
                    if (tipo_dispositivo != null)
                    {
                        t_disp_id = tipo_dispositivo.TipoId.ToString();
                        if (instalacion == null)
                        {
                            nombreFichero = String.Format("EXP{0:0000000}_Instalaciones_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, t_disp_id, usuario.UsuarioId);
                        }
                        else
                        {
                            instid        = instalacion.InstalacionId.ToString();
                            nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{2:0000000}_{3:0000}.pdf", empresa.EmpresaId, instid, t_disp_id, usuario.UsuarioId);
                        }
                    }
                    else
                    {
                        if (instalacion != null)
                        {
                            instid        = instalacion.InstalacionId.ToString();
                            nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, instid, usuario.UsuarioId);
                        }
                        else
                        {
                            nombreFichero = String.Format("EXP{0:0000000}_{2:0000}.pdf", empresa.EmpresaId, usuario.UsuarioId);
                        }
                    }

                    RptFacturableEmpresa rptT = new RptFacturableEmpresa(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(instid), int.Parse(t_disp_id), ctx);
                    nombre          = String.Format("Revisiones facturables {0:dd/MM/yyyy} {1:dd/MM/yyyy}", desdeFecha, hastaFecha);
                    renderingResult = reportProcessor.RenderReport("PDF", rptT, null);
                }
                else
                {
                    if (instalacion != null)
                    {
                        instid        = instalacion.InstalacionId.ToString();
                        nombreFichero = String.Format("EXP{0:0000000}_Instalaciones_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, instid, usuario.UsuarioId);
                    }
                    else
                    {
                        nombreFichero = String.Format("EXP{0:0000000}_Instalaciones_{1:0000000}_{2:0000}.pdf", empresa.EmpresaId, t_disp_id, usuario.UsuarioId);
                    }

                    RptFacturableEmpresaInstalacion rptF = new RptFacturableEmpresaInstalacion(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(instid), ctx);
                    nombre          = String.Format("Revisiones facturables {0:dd/MM/yyyy} {1:dd/MM/yyyy}", desdeFecha, hastaFecha);
                    renderingResult = reportProcessor.RenderReport("PDF", rptF, null);
                }
            }
            else if (rcbTipoDispositivo.SelectedValue != RCD_EMPTY)
            {
                informe = "RptFacturableEmpresaTipoDispositivo";
                if (tipo_dispositivo != null)
                {
                    t_disp_id     = tipo_dispositivo.TipoId.ToString();
                    nombreFichero = String.Format("EXP{0:0000000}_{1:0000000}_{3:0000}.pdf", empresa.EmpresaId, t_disp_id, usuario.UsuarioId);
                }
                else
                {
                    nombreFichero = String.Format("EXP{0:0000000}_{1:0000}.pdf", empresa.EmpresaId, usuario.UsuarioId);
                }

                RptFacturableEmpresaTipoDispositivo rptT = new RptFacturableEmpresaTipoDispositivo(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(t_disp_id), ctx);
                nombre          = String.Format("Revisiones facturables {0:dd/MM/yyyy} {1:dd/MM/yyyy}", desdeFecha, hastaFecha);
                renderingResult = reportProcessor.RenderReport("PDF", rptT, null);
            }

            break;
        }

        string fichero = String.Format("{0}\\{1}", directorio, nombreFichero);

        FileStream fs = new FileStream(fichero, FileMode.Create);

        fs.Write(renderingResult.DocumentBytes, 0, renderingResult.DocumentBytes.Length);
        fs.Close();
        // abrir como documento sobre el repositorio
        string url      = String.Format("DocumentoView.aspx?FileName={0}&EmpresaId={1}&Nombre={2}&InstalacionId={3}&TipoDispositivoId={4}", nombreFichero, empresa.EmpresaId, nombre, instid, t_disp_id);
        string jCommand = String.Format("parent.openOutSide('{0}', 'DocumentoView');", url);

        RadAjaxManager1.ResponseScripts.Add(jCommand);
    }
示例#2
0
    protected void Page_Init(object sender, EventArgs e)
    {
        // it gets an appropiate context (LainsaSciCTX -> web.config)
        ctx = new LainsaSci("LainsaSciCTX");
        // verify if a Usuario is logged
        usuario = CntWinWeb.IsSomeoneLogged(this, ctx);
        if (usuario == null)
        {
            Response.Redirect("Default.aspx");
        }
        else
        {
            Session["UsuarioId"] = usuario.UsuarioId;
        }
        if (Request.QueryString["Informe"] != null)
        {
            informe = Request.QueryString["Informe"];
            switch (informe)
            {
            case "RptInventario":
                RptInventario rptInventario = new RptInventario();
                this.Title = "Inventario por instalacion";
                if (usuario.Empresa != null)
                {
                    rptInventario.ReportParameters["Empresa"].Value   = usuario.Empresa.EmpresaId;
                    rptInventario.ReportParameters["Empresa"].Visible = false;
                }
                ReportViewer1.Report = rptInventario;
                break;

            case "RptIncidenciaEmpresa":
                RptIncidenciaEmpresa rptIncidenciaEmpresa = new RptIncidenciaEmpresa();
                this.Title = "Incidencias por empresa";
                if (usuario.Empresa != null)
                {
                    rptIncidenciaEmpresa.ReportParameters["Empresa"].Value   = usuario.Empresa.EmpresaId;
                    rptIncidenciaEmpresa.ReportParameters["Empresa"].Visible = false;
                }
                ReportViewer1.Report = rptIncidenciaEmpresa;
                break;
            }
        }
        if (Request.QueryString["Observaciones"] != null)
        {
            observaciones = Request.QueryString["Observaciones"];
        }
        if (Request.QueryString["FechaActa"] != null)
        {
            fechaActa = DateTime.Parse(Request.QueryString["FechaActa"]);
        }
        if (Request.QueryString["ActaNumero"] != null)
        {
            actaNumero = Request.QueryString["ActaNumero"];
        }
        if (Request.QueryString["TecnicoResponsable"] != null)
        {
            Usuario usu = CntLainsaSci.GetUsuario(int.Parse(Request.QueryString["TecnicoResponsable"]), ctx);
            tecnicoResponsable = usu.Nombre;
        }
        if (Request.QueryString["InstalacionId"] != null)
        {
            instalacion = CntLainsaSci.GetInstalacion(int.Parse(Request.QueryString["InstalacionId"]), ctx);
            if (instalacion == null)
            {
                empresa = CntLainsaSci.GetEmpresa(int.Parse(Request.QueryString["EmpresaId"]), ctx);
            }

            if (instalacion != null || empresa != null)
            {
                switch (informe)
                {
                case "RptActa":
                    // este informe es especial y en realidad es un book
                    Plantilla    plantilla        = CntLainsaSci.GetPlantilla(1, ctx); // la primera plantilla es la de acta.
                    string       numeroAutorizado = ConfigurationManager.AppSettings["NumeroAutorizado"];
                    string       contenido        = String.Format(plantilla.Contenido, numeroAutorizado, tecnicoResponsable, actaNumero, fechaActa);
                    ReportBook   reportBook       = new ReportBook();
                    RptCartaActa rptCartaActa     = new RptCartaActa(contenido);
                    reportBook.Reports.Add(rptCartaActa);
                    if (instalacion != null)
                    {
                        RptInformeActa rptInformeActa = new RptInformeActa(instalacion, observaciones, actaNumero, fechaActa, tecnicoResponsable, ctx);
                        reportBook.Reports.Add(rptInformeActa);
                    }
                    else
                    {
                        RptInformeActaEmpresa rptInformeActaEmpresa = new RptInformeActaEmpresa(empresa, observaciones, actaNumero, fechaActa, tecnicoResponsable, ctx);
                        reportBook.Reports.Add(rptInformeActaEmpresa);
                    }
                    ReportViewer1.Report = reportBook;
                    break;
                }
            }
        }
        else if (Request.QueryString["ProgramaId"] != null)
        {
            programa = CntLainsaSci.GetPrograma(int.Parse(Request.QueryString["ProgramaId"]), ctx);
            if (programa != null)
            {
                switch (informe)
                {
                case "RptPrograma2":
                    RptPrograma2 rptPrograma2 = new RptPrograma2(programa.ProgramaId, ctx);
                    ReportViewer1.Report = rptPrograma2;
                    break;

                case "RptRevisionFormulario":
                    RptRevisionFormulario rptRF = new RptRevisionFormulario(programa, ctx);
                    ReportViewer1.Report = rptRF;
                    break;

                case "RptInformePlanta":
                    RptInformePlanta rptIP = new RptInformePlanta(programa, ctx);
                    ReportViewer1.Report = rptIP;
                    break;
                }
            }
            newRecord = false;
        }
        else if (Request.QueryString["EmpresaId"] != null)
        {
            empresa = CntLainsaSci.GetEmpresa(int.Parse(Request.QueryString["EmpresaId"]), ctx);

            if (empresa != null)
            {
                desdeFecha = DateTime.Parse(Request.QueryString["DesdeFecha"]);
                hastaFecha = DateTime.Parse(Request.QueryString["HastaFecha"]);
                switch (informe)
                {
                case "RptResumenEmpresaInstalacion":
                    RptResumenEmpresaInstalacion rpt = new RptResumenEmpresaInstalacion(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["InstId"]), ctx);
                    ReportViewer1.Report = rpt;
                    break;

                case "RptFacturableEmpresaInstalacion":
                    RptFacturableEmpresaInstalacion rpt2 = new RptFacturableEmpresaInstalacion(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["InstId"]), ctx);
                    ReportViewer1.Report = rpt2;
                    break;

                case "RptResumenEmpresaTipoDispositivo":
                    RptResumenEmpresaTipoDispositivo rptT = new RptResumenEmpresaTipoDispositivo(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["TipoDispId"]), ctx);
                    ReportViewer1.Report = rptT;
                    break;

                case "RptFacturableEmpresaTipoDispositivo":
                    RptFacturableEmpresaTipoDispositivo rptT2 = new RptFacturableEmpresaTipoDispositivo(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["TipoDispId"]), ctx);
                    ReportViewer1.Report = rptT2;
                    break;

                case "RptResumenEmpresa":
                    RptResumenEmpresa rptE = new RptResumenEmpresa(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["InstId"]), int.Parse(Request.QueryString["TipoDispId"]), ctx);
                    ReportViewer1.Report = rptE;
                    break;

                case "RptFacturableEmpresa":
                    RptFacturableEmpresa rptE2 = new RptFacturableEmpresa(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["InstId"]), int.Parse(Request.QueryString["TipoDispId"]), ctx);
                    ReportViewer1.Report = rptE2;
                    break;
                }
            }
        }
        else if (Request.QueryString["Filtro"] != null)
        {
            List <string> filtro   = (List <string>)Session["Filtro"];
            string        consulta = "";
            switch (informe)
            {
            case "RptConsultaRevision":
                if (Request.QueryString["mode"].ToString() == "G")
                {
                    RptConsultaRevisionGeneral cr = new RptConsultaRevisionGeneral(filtro);
                    ReportViewer1.Report = cr;
                }
                break;

            case "RptConsultaDispositivos":
                consulta = "Consulta dispositivos. ";
                if (Session["Consulta"] != null)
                {
                    consulta += (string)Session["Consulta"];
                }
                this.Title = consulta;

                if (Request.QueryString["mode"].ToString() == "D")
                {
                    RptConsultaDispositivos cd = new RptConsultaDispositivos(filtro, consulta);
                    ReportViewer1.Report = cd;
                }
                else
                {
                    RptConsultaDispositivosGeneral cd = new RptConsultaDispositivosGeneral(filtro, consulta);
                    ReportViewer1.Report = cd;
                }
                break;

            case "RptInfConsultaRevision":
                IList <Revision> lr = new List <Revision>();
                foreach (string rid in filtro)
                {
                    lr.Add(CntLainsaSci.GetRevision(int.Parse(rid), ctx));
                }
                consulta = "Consulta revisiones";
                if (Session["Consulta"] != null)
                {
                    consulta = (string)Session["Consulta"];
                }
                this.Title = consulta;
                RptInfConsultaRevision icr = new RptInfConsultaRevision(lr, consulta);
                ReportViewer1.Report = icr;
                break;
            }
        }
        // control de skin
        if (Session["Skin"] != null)
        {
            RadSkinManager1.Skin = Session["Skin"].ToString();
        }
    }