/// <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; } }
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); }