Пример #1
0
        private void RenderReport_directores()
        {
            Reportes.reporte_director ds = Session["ds_directores"] as Reportes.reporte_director;

            ReportViewer viewer = new ReportViewer();

            viewer.ProcessingMode = ProcessingMode.Local;
            viewer.LocalReport.EnableExternalImages = true;

            viewer.LocalReport.ReportPath = Server.MapPath("~/Aplicativo/Reportes/reporte_director.rdlc");

            ReportDataSource detalle = new ReportDataSource("Detalle", ds.Detalle.Rows);

            viewer.LocalReport.DataSources.Add(detalle);

            Microsoft.Reporting.WebForms.Warning[] warnings = null;
            string[] streamids  = null;
            string   mimeType   = null;
            string   encoding   = null;
            string   extension  = null;
            string   deviceInfo = null;

            byte[] bytes = null;

            deviceInfo = "<DeviceInfo><SimplePageHeaders>True</SimplePageHeaders></DeviceInfo>";

            //Render the report
            bytes = viewer.LocalReport.Render("PDF", deviceInfo, out mimeType, out encoding, out extension, out streamids, out warnings);
            Session["Reporte"] = bytes;

            string script = "<script type='text/javascript'>window.open('Reportes/reportes.aspx');</script>";

            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "VentanaPadre", script);
        }
Пример #2
0
        protected void btn_imprimir_directores_Click(object sender, EventArgs e)
        {
            int  id_mesa      = Convert.ToInt32(((Button)sender).CommandArgument);
            bool mesa_cerrada = false;

            using (HabProfDBContainer cxt = new HabProfDBContainer())
            {
                Mesa mesa = cxt.Mesas.FirstOrDefault(pp => pp.mesa_id == id_mesa);

                if (mesa.mesa_estado == "Cerrada")
                {
                    Estado_tesina aprobada = cxt.Estados_tesinas.FirstOrDefault(eett => eett.estado_tesina_estado == "Aprobada");

                    Reportes.reporte_director ds = new Reportes.reporte_director();

                    foreach (Tesina tesina in mesa.Tesinas)
                    {
                        if (tesina.estado_tesis_id == aprobada.estado_tesina_id)
                        {
                            Reportes.reporte_director.DetalleRow md = ds.Detalle.NewDetalleRow();

                            md.director_nombre           = tesina.Director.Persona.persona_nomyap;
                            md.director_dni              = tesina.Director.Persona.persona_dni.ToString();
                            md.tema_tesina               = tesina.tesina_tema;
                            md.tesina_calificacion       = tesina.tesina_calificacion_director.ToString();
                            md.tesina_calificacion_letra = Calificacion_a_texto(tesina.tesina_calificacion ?? 0);
                            md.tesista_nombre            = tesina.Tesista.Persona.persona_nomyap;
                            md.tesina_fecha_evaluacion   = mesa.mesa_fecha.ToShortDateString();
                            md.licenciatura_nombre       = tesina.Tesista.Persona.Licenciatura.licenciatura_nombre;
                            md.anteco = "";

                            ds.Detalle.Rows.Add(md);

                            if (tesina.Codirector != null)
                            {
                                Reportes.reporte_director.DetalleRow md_co = ds.Detalle.NewDetalleRow();

                                md_co.director_nombre           = tesina.Codirector.Persona.persona_nomyap;
                                md_co.director_dni              = tesina.Codirector.Persona.persona_dni.ToString();
                                md_co.tema_tesina               = tesina.tesina_tema;
                                md_co.tesina_calificacion       = tesina.tesina_calificacion_codirector.ToString();
                                md_co.tesina_calificacion_letra = Calificacion_a_texto(tesina.tesina_calificacion_codirector ?? 0);
                                md_co.tesista_nombre            = tesina.Tesista.Persona.persona_nomyap;
                                md_co.tesina_fecha_evaluacion   = mesa.mesa_fecha.ToShortDateString();
                                md_co.licenciatura_nombre       = tesina.Tesista.Persona.Licenciatura.licenciatura_nombre;
                                md_co.anteco = "co-";

                                ds.Detalle.Rows.Add(md_co);
                            }
                        }
                    }

                    mesa_cerrada             = true;
                    Session["ds_directores"] = ds;
                }
            }

            if (mesa_cerrada)
            {
                RenderReport_directores();
            }
            else
            {
                MessageBox.Show(this, "No se pueden imprimir los certificados mientras la mesa no este cerrada.", MessageBox.Tipo_MessageBox.Warning);
            }
        }