private async void OnLoad(ReporteGruposAbiertosView Window = null) { try { ConfiguraPermisos(); var index = 0; LstEje = await StaticSourcesViewModel.CargarDatosAsync <ObservableCollection <EJE> >(() => new ObservableCollection <EJE>(new cEje().GetData().OrderBy(o => o.ORDEN))); //LstEje.Insert(0, new EJE() { ID_EJE = -1, DESCR = "SELECCIONE" }); if (LstEje.Count > 0) { //ejes tipo modelo LstEje.Insert(0, new EJE() { COMPLEMENTARIO = "MODELO" }); index = LstEje.IndexOf(LstEje.Where(w => w.COMPLEMENTARIO != "MODELO").OrderBy(o => o.COMPLEMENTARIO == "S").ThenBy(t => t.ORDEN).Where(w => w.COMPLEMENTARIO == "S").FirstOrDefault()); //ejes tipo complementario if (index > 0) { LstEje.Insert(index, new EJE() { COMPLEMENTARIO = "COMPLEMENTARIO" }); } } Reporte = Window.Report; Reporte.RenderingComplete += (s, e) => { ReportViewerVisible = Visibility.Visible; }; } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al cargar pantalla", ex); } }
private void GenerarReporte() { try { var centro = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault(); var datosReporte = new List <cReporteDatos>(); datosReporte.Add(new cReporteDatos() { Encabezado1 = Parametro.ENCABEZADO1.Trim(), Encabezado2 = Parametro.ENCABEZADO2.Trim(), Encabezado3 = Parametro.ENCABEZADO3.Trim(), Titulo = "LISTA GRUPO " + LstActividad.Where(w => w.ID_ACTIVIDAD == SelectedActividad).FirstOrDefault().DESCR, Logo1 = Parametro.REPORTE_LOGO1, Logo2 = Parametro.REPORTE_LOGO2, Centro = centro.DESCR.Trim().ToUpper(), }); #region Reporte Reporte.LocalReport.ReportPath = "Reportes/rGrupoActivos.rdlc"; Reporte.LocalReport.DataSources.Clear(); var rds2 = new Microsoft.Reporting.WinForms.ReportDataSource(); rds2.Name = "DataSet2"; rds2.Value = datosReporte; Reporte.LocalReport.DataSources.Add(rds2); var rds1 = new Microsoft.Reporting.WinForms.ReportDataSource(); rds1.Name = "DataSet1"; rds1.Value = new List <ReporteListaGruposActivos>() { new ReporteListaGruposActivos() { Actividad = LstActividad.Where(w => w.ID_ACTIVIDAD == SelectedActividad).FirstOrDefault().DESCR, Eje = LstEje.Where(w => w.ID_EJE == SelectedEje).FirstOrDefault().DESCR, Programa = LstPrograma.Where(w => w.ID_TIPO_PROGRAMA == SelectedPrograma).FirstOrDefault().NOMBRE } }; Reporte.LocalReport.DataSources.Add(rds1); var rds3 = new Microsoft.Reporting.WinForms.ReportDataSource(); rds3.Name = "DataSet3"; rds3.Value = new cGrupo().GetData().Where(w => w.ID_EJE == SelectedEje && w.ID_TIPO_PROGRAMA == SelectedPrograma && w.ID_ACTIVIDAD == SelectedActividad && w.ID_ESTATUS_GRUPO == 1).AsEnumerable().Select(s => new ReporteDetalleGruposActivos { Grupo = s.DESCR, Responsable = (s.PERSONA.PATERNO != null ? s.PERSONA.PATERNO.Trim() : string.Empty) + " " + (s.PERSONA.MATERNO != null ? s.PERSONA.MATERNO.Trim() : string.Empty) + " " + (s.PERSONA.NOMBRE != null ? s.PERSONA.NOMBRE.Trim() : string.Empty), Fecha_Inicio = s.GRUPO_HORARIO.OrderBy(o => o.HORA_INICIO).FirstOrDefault().HORA_INICIO.Value.ToShortDateString(), Fecha_Fin = s.GRUPO_HORARIO.OrderByDescending(o => o.HORA_TERMINO).FirstOrDefault().HORA_TERMINO.Value.ToShortDateString(), Departamento = s.CENTRO_DEPARTAMENTO.DEPARTAMENTO.DESCR, Recurrencia = s.RECURRENCIA }); Reporte.LocalReport.DataSources.Add(rds3); Application.Current.Dispatcher.Invoke((Action)(delegate { Reporte.RefreshReport(); })); #endregion } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al generar reporte", ex); } }