Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <history>
        /// [MartinV]          [jueves, 18 de septiembre de 2014]       Modificado  GCP-Cambios 15581
        /// </history>
        protected void cmdGenerar_Click(object sender, EventArgs e)
        {
            try
            {
                lblError.Text    = "";
                divError.Visible = false;
                FReportes objFac       = new FReportes();
                int       intIDUsuario = Convert.ToInt32(cboUsuario.SelectedValue);
                COA.WebCipol.Entidades.ClasesWs.dcRecuperarReporteUsuario.dcRecuperarReporteUsuario objLista = objFac.RecuperarReporteUsuario(intIDUsuario);

                if (objLista.lstSist_Usuarios.Count == 0)
                {
                    lblSinDatos.Visible = true;
                    divInfo.Visible     = true;
                    return;
                }
                else
                {
                    lblSinDatos.Visible = false;
                    divInfo.Visible     = false;
                }

                dsSubReporteHorarios   = objLista.lstSE_Horarios_Usuario;
                dsSubReporteRoles      = objLista.lstRolesXUsuarios;
                dsSubReporteTerminales = objLista.lstSE_Term_Usuario;

                ReportDataSource objDS             = new ReportDataSource("lstUsuarios", objLista.lstSist_Usuarios);
                ReportViewer     VisualizarReporte = new ReportViewer();
                VisualizarReporte.ProcessingMode         = ProcessingMode.Local;
                VisualizarReporte.LocalReport.ReportPath = this.MapPath("~/Reportes/rptUsuarios.rdlc");

                VisualizarReporte.LocalReport.DataSources.Clear();
                VisualizarReporte.LocalReport.DataSources.Add(objDS);
                VisualizarReporte.ZoomMode = ZoomMode.Percent;

                //Setea Parámetros generales de todos los reportes.
                //Se verifica si tiene permiso para todos los horarios
                //7 dias x 24 horas = 168 registros, es decir, todos los horarios
                string strCondHorarios = "";
                if (objLista.lstSE_Horarios_Usuario.FindAll(x => x.IdUsuario.Equals(0)).Count == 168)
                {
                    strCondHorarios = "Todos";
                }
                if (objLista.lstSE_Horarios_Usuario.FindAll(x => x.IdUsuario.Equals(0)).Count == 0)
                {
                    strCondHorarios = "Ninguno";
                }

                //Se analiza si la cantidad de terminales, es igual a la cantidad de terminales permitidas para el usuario
                string strCondTerminales = "";
                if (objLista.lstSE_TERMINALES.Count == objLista.lstSE_Term_Usuario.Count)
                {
                    strCondTerminales = "Todas";
                }
                //Se analiza si no tiene terminales habilitadas el usuario
                if (objLista.lstSE_Term_Usuario.Count == 0)
                {
                    strCondTerminales = "Ninguna";
                }
                string strCondRoles = "";
                if (objLista.lstRolesXUsuarios.Count == 0)
                {
                    strCondRoles = "Ninguno";
                }
                else
                {
                    strCondRoles = "SI";
                }

                List <ReportParameter> lstParametros = new List <ReportParameter>();
                lstParametros.Add(new ReportParameter("fmlCliente", ManejoSesion.DatosSistemaSesion.DatosGenerales.AcercaDe_Cliente));
                lstParametros.Add(new ReportParameter("rptPiePagina", ManejoSesion.DatosSistemaSesion.DatosGenerales.rptPiePagina()));
                lstParametros.Add(new ReportParameter("condSubHorarios", strCondHorarios));
                lstParametros.Add(new ReportParameter("condSubTerminales", strCondTerminales));
                lstParametros.Add(new ReportParameter("condSubRol", strCondRoles));

                VisualizarReporte.LocalReport.SetParameters(lstParametros);

                VisualizarReporte.Visible = true;

                //VisualizarReporte.DataBind();

                VisualizarReporte.LocalReport.Refresh();

                VisualizarReporte.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(UsuariosHorario_SubreportProcessing);

                // Variables
                Warning[] warnings;
                string[]  streamIds;
                string    mimeType  = string.Empty;
                string    encoding  = string.Empty;
                string    extension = string.Empty;

                Session["DatosPDF"] = VisualizarReporte.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings);
                string strScript_max = "f_open_window_max('VisualizadorPDF.aspx','" + DateTime.Now.ToString("hhmmss") + "');";
                System.Web.UI.ScriptManager.RegisterStartupScript(this, GetType(), "Exportar", strScript_max, true);
            }
            catch (Exception ex)
            {
                COA.Logger.Logueador.Loggear(ex, System.Diagnostics.EventLogEntryType.Error);
                lblError.Text    = ex.Message;
                divError.Visible = true;
            }
        }
Ejemplo n.º 2
0
 public COA.WebCipol.Entidades.ClasesWs.dcRecuperarReporteUsuario.dcRecuperarReporteUsuario RecuperarReporteUsuario(Int32 pIdUsuario)
 {
     this.SeguridadCP.AplicarSeguridadCP();
     COA.WebCipol.Entidades.ClasesWs.dcRecuperarReporteUsuario.dcRecuperarReporteUsuario lstRetorno = obj.RecuperarReporteUsuario(pIdUsuario);
     this.SeguridadCP.UndoAplicarSeguridadCP();
     return(lstRetorno);
 }