public void ObtenerActividades() { try { var lista_actividades = new cGrupoHorario().GetData( g => g.HORA_INICIO.Value.Year == Fechas.GetFechaDateServer.Year && g.HORA_INICIO.Value.Month == Fechas.GetFechaDateServer.Month && g.HORA_INICIO.Value.Day == Fechas.GetFechaDateServer.Day && g.HORA_INICIO.Value.Hour == Fechas.GetFechaDateServer.Hour).ToList(); List <GRUPO_HORARIO> actividades = new List <GRUPO_HORARIO>(); foreach (var Area in Areas) { actividades.AddRange(lista_actividades.Where( w => w.ID_AREA == Area.ID_AREA ).ToList()); } ListaActividades = actividades; } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al obtener las actividades contempladas por el equipo.", ex); } }
public ObservableCollection <InternosAusentes> ListaActividades(int id_imputado, DateTime?fechaInicio, DateTime?fechaFin, short ID_CENTRO, short?ID_UB_EDIFICIO = null, short?ID_UB_SECTOR = null) { var grupo_horario_actividad = new cGrupoHorario().ObtenerActivos(fechaInicio.Value, fechaFin.Value, GlobalVar.gCentro); var lstActividadInternos = new ObservableCollection <InternosAusentes>(); foreach (var item in grupo_horario_actividad) { foreach (var asistencia in item.GRUPO_ASISTENCIA) { var consulta_imputado = asistencia.GRUPO_PARTICIPANTE.INGRESO.IMPUTADO; var consulta_interno_ubicacion = asistencia.GRUPO_PARTICIPANTE.INGRESO.INGRESO_UBICACION; var consulta_interno = asistencia.GRUPO_PARTICIPANTE.INGRESO; if (asistencia.ESTATUS == 1) { if (asistencia.GRUPO_PARTICIPANTE.ING_ID_IMPUTADO == id_imputado) { if (item.HORA_INICIO.Value.TimeOfDay > Fechas.GetFechaDateServer.TimeOfDay && item.HORA_TERMINO.Value.TimeOfDay > Fechas.GetFechaDateServer.TimeOfDay) { lstActividadInternos.Add(new InternosAusentes() { Llave = string.Format("{0}/{1}/{2}/{3}", consulta_imputado.ID_CENTRO, consulta_imputado.ID_ANIO, consulta_imputado.ID_IMPUTADO, consulta_interno.ID_INGRESO), Expediente = string.Format("{0}/{1}", consulta_imputado.ID_ANIO, consulta_imputado.ID_IMPUTADO).TrimEnd(), Paterno = string.IsNullOrEmpty(consulta_imputado.PATERNO) ? string.Empty : consulta_imputado.PATERNO.TrimEnd(), Materno = string.IsNullOrEmpty(consulta_imputado.MATERNO) ? string.Empty : consulta_imputado.MATERNO.TrimEnd(), Nombre = consulta_imputado.NOMBRE.TrimEnd(), Actividad = string.IsNullOrEmpty(asistencia.GRUPO_PARTICIPANTE.ACTIVIDAD.DESCR) ? string.Empty : asistencia.GRUPO_PARTICIPANTE.ACTIVIDAD.DESCR.TrimEnd(), IdArea = item.ID_AREA, Area = item.AREA.DESCR.TrimEnd(), Fecha = asistencia.GRUPO_HORARIO.HORA_INICIO, HoraInicio = new TimeSpan(item.HORA_INICIO.Value.Ticks), HoraFin = new TimeSpan(item.HORA_TERMINO.Value.Ticks), Ingreso = consulta_interno }); } } } } } return(lstActividadInternos); }
private void GenerarReporte() { try { var centro = new cCentro().Obtener(GlobalVar.gCentro).FirstOrDefault(); var reporteConsentrado = new cGrupoHorario().GetData().Where(w => w.ID_GRUPO == selectedGrupo && w.ESTATUS == 1).ToList(); var datosReporte = new List <cReporteDatos>(); datosReporte.Add(new cReporteDatos() { Encabezado1 = Parametro.ENCABEZADO1.Trim(), Encabezado2 = Parametro.ENCABEZADO2.Trim(), Encabezado3 = Parametro.ENCABEZADO3.Trim(), Titulo = "LISTA GRUPO " + reporteConsentrado.FirstOrDefault().GRUPO.DESCR, Logo1 = Parametro.REPORTE_LOGO1, Logo2 = Parametro.REPORTE_LOGO2, Centro = centro.DESCR.Trim().ToUpper(), }); #region Reporte Reporte.LocalReport.ReportPath = "Reportes/rReporteHorarioGrupo.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 <ReporteListaGrupo>() { new ReporteListaGrupo() { Grupo = reporteConsentrado.FirstOrDefault().GRUPO.DESCR, Actividad = reporteConsentrado.FirstOrDefault().GRUPO.ACTIVIDAD.DESCR, Eje = reporteConsentrado.FirstOrDefault().GRUPO.ACTIVIDAD_EJE.EJE.DESCR, Programa = reporteConsentrado.FirstOrDefault().GRUPO.ACTIVIDAD.TIPO_PROGRAMA.NOMBRE, Responsable = (reporteConsentrado.FirstOrDefault().GRUPO.PERSONA.PATERNO != null ? reporteConsentrado.FirstOrDefault().GRUPO.PERSONA.PATERNO.Trim() : string.Empty) + " " + (reporteConsentrado.FirstOrDefault().GRUPO.PERSONA.MATERNO != null ? reporteConsentrado.FirstOrDefault().GRUPO.PERSONA.MATERNO.Trim():string.Empty) + " " + (reporteConsentrado.FirstOrDefault().GRUPO.PERSONA.NOMBRE != null?reporteConsentrado.FirstOrDefault().GRUPO.PERSONA.NOMBRE.Trim():string.Empty) } }; Reporte.LocalReport.DataSources.Add(rds1); var rds3 = new Microsoft.Reporting.WinForms.ReportDataSource(); rds3.Name = "DataSet3"; rds3.Value = reporteConsentrado.Select(s => new ReporteHorarioGrupo { Area = s.AREA.DESCR, dthora_inicio = s.HORA_INICIO, hora_inicio = s.HORA_INICIO.Value.ToShortDateString() + " " + s.HORA_INICIO.Value.ToShortTimeString(), hora_termino = s.HORA_TERMINO.Value.ToShortDateString() + " " + s.HORA_TERMINO.Value.ToShortTimeString(), Estatus = s.GRUPO_HORARIO_ESTATUS.DESCR }).OrderBy(o => o.dthora_inicio); 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); } }
/// <summary> /// metodo que tiene todas la funcionalidad de los clicks /// </summary> /// <param name="obj">parametro del evento click</param> private async void clickSwitch(Object obj) { try { var respuesta = false; switch (obj.ToString()) { case "menu_guardar": break; case "menu_agregar": if (!SelectedPrograma.HasValue || !SelectedActividad.HasValue || SelectedGrupo == null) { return; } ListArea = ListArea ?? await StaticSourcesViewModel.CargarDatosAsync <ObservableCollection <AREA> >(() => new ObservableCollection <AREA>(new cArea().GetData().Where(w => w.ID_TIPO_AREA != 5))); ListEstatusGrupo = ListEstatusGrupo ?? await StaticSourcesViewModel.CargarDatosAsync <ObservableCollection <GRUPO_HORARIO_ESTATUS> >(() => new ObservableCollection <GRUPO_HORARIO_ESTATUS>(new cGrupoHorarioEstatus().GetData())); SelectedEstatusGrupo = 1; SelectedArea = null; EditFechaInicio = null; EditFechaFin = null; SelectedFecha = FechaServer.Date; EntityUpdate = null; AgregarFecha = Visibility.Visible; PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.EDITAR_FECHA); break; case "menu_eliminar": break; case "menu_editar": if (SelectedGrupo == null) { return; } ListEstatus = ListEstatus ?? new ObservableCollection <GRUPO_PARTICIPANTE_ESTATUS>(new cGrupoParticipanteEstatus().GetData().Where(w => w.ID_ESTATUS == 2 || w.ID_ESTATUS == 3 || w.ID_ESTATUS == 4)); ListInternosGrupo = new ObservableCollection <ListaManejoInternos>(new cGrupoParticipante().GetData().Where(w => w.ID_GRUPO == SelectedGrupo.ID_GRUPO && (w.GRUPO_PARTICIPANTE_CANCELADO.Where(wh => (wh.ID_CENTRO == w.ID_CENTRO && wh.ID_TIPO_PROGRAMA == w.ID_TIPO_PROGRAMA && wh.ID_ACTIVIDAD == w.ID_ACTIVIDAD && wh.ID_CONSEC == w.ID_CONSEC && wh.ID_GRUPO == w.ID_GRUPO)).Any() ? w.GRUPO_PARTICIPANTE_CANCELADO.Where(wh => (wh.ID_CENTRO == w.ID_CENTRO && wh.ID_TIPO_PROGRAMA == w.ID_TIPO_PROGRAMA && wh.ID_ACTIVIDAD == w.ID_ACTIVIDAD && wh.ID_CONSEC == w.ID_CONSEC) && (wh.RESPUESTA_FEC == null ? (wh.RESPUESTA_FEC == null && wh.ESTATUS == 0) : (w.GRUPO_PARTICIPANTE_CANCELADO.Where(whe => (whe.ID_CENTRO == w.ID_CENTRO && whe.ID_TIPO_PROGRAMA == w.ID_TIPO_PROGRAMA && whe.ID_ACTIVIDAD == w.ID_ACTIVIDAD && whe.ID_CONSEC == w.ID_CONSEC) && whe.RESPUESTA_FEC != null && (whe.ESTATUS == 0 || whe.ESTATUS == 2)).Count() == w.GRUPO_PARTICIPANTE_CANCELADO.Where(whe => (whe.ID_CENTRO == w.ID_CENTRO && whe.ID_TIPO_PROGRAMA == w.ID_TIPO_PROGRAMA && whe.ID_ACTIVIDAD == w.ID_ACTIVIDAD && whe.ID_CONSEC == w.ID_CONSEC)).Count()))).Any() : true)).OrderBy(o => o.ING_ID_ANIO).ThenBy(t => t.ING_ID_IMPUTADO).AsEnumerable().Select(s => new ListaManejoInternos() { Entity = s, FOLIO = s.INGRESO.IMPUTADO.ID_ANIO + "\\" + s.INGRESO.IMPUTADO.ID_IMPUTADO, PATERNO = s.INGRESO.IMPUTADO.PATERNO.Trim(), MATERNO = s.INGRESO.IMPUTADO.MATERNO.Trim(), NOMBRE = s.INGRESO.IMPUTADO.NOMBRE.Trim(), ListEstatusGrupoParticipante = ListEstatus, SelectEstatus = s.ESTATUS })); PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.EDITAR_INTEGRANTES_GRUPO); break; case "menu_cancelar": ((System.Windows.Controls.ContentControl)PopUpsViewModels.MainWindow.FindName("contentControl")).Content = new ManejoGruposView(); ((System.Windows.Controls.ContentControl)PopUpsViewModels.MainWindow.FindName("contentControl")).DataContext = new ManejoGruposViewModel(); break; case "menu_ayuda": break; case "menu_salir": PrincipalViewModel.SalirMenu(); break; case "guardar_EdicionFecha": if (SelectedArea == null || SelectedEstatusGrupo == null || EditFechaInicio == null || EditFechaFin == null || FechaValidateEditHasError || !SelectedFecha.HasValue) { if (await new Dialogos().ConfirmacionDialogoReturn("Manejo de Grupo", "Faltan Campos Por Capturar") == 1) { return; } } if (AgregarFecha == Visibility.Visible) { EntityUpdate = new cGrupoHorario().GetData().Where(w => w.ID_GRUPO == SelectedGrupo.ID_GRUPO && (w.HORA_INICIO.Value.Year == SelectedFecha.Value.Year && w.HORA_INICIO.Value.Month == SelectedFecha.Value.Month && w.HORA_INICIO.Value.Day == SelectedFecha.Value.Day)).FirstOrDefault(); } if (EntityUpdate != null) { respuesta = await StaticSourcesViewModel.OperacionesAsync <bool>("Actualizando Fecha Del Grupo", () => { try { new cGrupoHorario().Update(new GRUPO_HORARIO() { ESTATUS = SelectedEstatusGrupo, HORA_INICIO = new DateTime(EntityUpdate.HORA_INICIO.Value.Year, EntityUpdate.HORA_INICIO.Value.Month, EntityUpdate.HORA_INICIO.Value.Day, EditFechaInicio.Value.Hour, EditFechaInicio.Value.Minute, 0), HORA_TERMINO = new DateTime(EntityUpdate.HORA_TERMINO.Value.Year, EntityUpdate.HORA_TERMINO.Value.Month, EntityUpdate.HORA_TERMINO.Value.Day, EditFechaFin.Value.Hour, EditFechaFin.Value.Minute, 0), ID_ACTIVIDAD = EntityUpdate.ID_ACTIVIDAD, ID_AREA = SelectedArea, ID_CENTRO = EntityUpdate.ID_CENTRO, ID_GRUPO = EntityUpdate.ID_GRUPO, ID_GRUPO_HORARIO = EntityUpdate.ID_GRUPO_HORARIO, ID_TIPO_PROGRAMA = EntityUpdate.ID_TIPO_PROGRAMA }); EditFechaInicio = EditFechaInicio.Value.AddSeconds(1); foreach (var item in ListInternosDia) { var update = new cGrupoAsistencia().GetData().Where(w => w.ID_CENTRO == item.Entity.ID_CENTRO && w.ID_TIPO_PROGRAMA == item.Entity.ID_TIPO_PROGRAMA && w.ID_ACTIVIDAD == item.Entity.ID_ACTIVIDAD && w.ID_GRUPO == item.Entity.ID_GRUPO.Value && w.ID_GRUPO_HORARIO == EntityUpdate.ID_GRUPO_HORARIO && w.ID_CONSEC == item.Entity.ID_CONSEC).FirstOrDefault(); if (update == null) { continue; } var updateempalme = ListInternosDia.Where(w => w.Entity.ID_CENTRO == item.Entity.ID_CENTRO && w.Entity.ID_TIPO_PROGRAMA == item.Entity.ID_TIPO_PROGRAMA && w.Entity.ID_ACTIVIDAD == item.Entity.ID_ACTIVIDAD && w.Entity.ID_GRUPO == item.Entity.ID_GRUPO.Value && w.Entity.GRUPO.GRUPO_HORARIO.Where(wh => wh.ID_CENTRO == item.Entity.ID_CENTRO && wh.ID_TIPO_PROGRAMA == item.Entity.ID_TIPO_PROGRAMA && wh.ID_ACTIVIDAD == item.Entity.ID_ACTIVIDAD && wh.ID_GRUPO == item.Entity.ID_GRUPO.Value && wh.ID_GRUPO_HORARIO == EntityUpdate.ID_GRUPO_HORARIO).Any() && w.Entity.ID_CONSEC == item.Entity.ID_CONSEC).FirstOrDefault().State == "Empalme"; new cGrupoAsistencia().Update(new GRUPO_ASISTENCIA() { ID_CENTRO = update.ID_CENTRO, ID_TIPO_PROGRAMA = update.ID_TIPO_PROGRAMA, ID_ACTIVIDAD = update.ID_ACTIVIDAD, ID_GRUPO = update.ID_GRUPO, ID_GRUPO_HORARIO = update.ID_GRUPO_HORARIO, ID_CONSEC = update.ID_CONSEC, FEC_REGISTRO = update.FEC_REGISTRO, ASISTENCIA = update.ASISTENCIA, EMPALME = updateempalme ? update.EMPALME : 0, EMP_COORDINACION = updateempalme ? update.EMP_COORDINACION : 0, EMP_APROBADO = updateempalme ? update.EMP_APROBADO : null, EMP_FECHA = updateempalme ? update.EMP_FECHA : null, ESTATUS = update.ESTATUS }); } if (ListInternosDia.Where(w => w.Revision && w.ListHorario != null && w.ListHorario.Where(wh => wh.State.Equals("Empalme")).Any()).Any()) { var listGA = new List <ListaEmpalmesInterno>(); var entitylistGH = new List <GRUPO_HORARIO>(); foreach (var item in ListInternosDia.Where(w => w.Revision && w.ListHorario != null && w.ListHorario.Where(wh => wh.State.Equals("Empalme")).Any())) { foreach (var itemLisAct in item.ListHorario.Where(w => w.State.Equals("Empalme"))) { entitylistGH.Add(itemLisAct.GrupoHorarioEntity); } listGA.Add(new ListaEmpalmesInterno() { EntityGrupoParticipante = item.Entity, ListGrupoHorario = entitylistGH }); } new cGrupoAsistencia().GenerarEmpalmes(listGA); } return(true); } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al modificar el estatus de los integrantes del grupo", ex); return(false); } }); if (respuesta) { await new Dialogos().ConfirmacionDialogoReturn("Manejo de Grupos", "El horario se modifico exitosamente"); } } else { respuesta = await StaticSourcesViewModel.OperacionesAsync <bool>("Insertando Nueva Fecha Para El Grupo", () => { try { var idGH = new cGrupoHorario().Insertar(new GRUPO_HORARIO() { ESTATUS = SelectedEstatusGrupo, HORA_INICIO = new DateTime(SelectedFecha.Value.Year, SelectedFecha.Value.Month, SelectedFecha.Value.Day, EditFechaInicio.Value.Hour, EditFechaInicio.Value.Minute, 0), HORA_TERMINO = new DateTime(SelectedFecha.Value.Year, SelectedFecha.Value.Month, SelectedFecha.Value.Day, EditFechaFin.Value.Hour, EditFechaFin.Value.Minute, 0), ID_ACTIVIDAD = SelectedActividad.Value, ID_AREA = SelectedArea, ID_CENTRO = GlobalVar.gCentro, ID_GRUPO = SelectedGrupo.ID_GRUPO, ID_TIPO_PROGRAMA = SelectedPrograma.Value }); foreach (var item in ListInternosDia) { if (item.State != "Empalme" || item.Revision) { new cGrupoAsistencia().Insert(new GRUPO_ASISTENCIA() { ID_CENTRO = GlobalVar.gCentro, ID_TIPO_PROGRAMA = item.Entity.ID_TIPO_PROGRAMA, ID_ACTIVIDAD = item.Entity.ID_ACTIVIDAD, ID_GRUPO = item.Entity.ID_GRUPO.Value, ID_GRUPO_HORARIO = idGH.ID_GRUPO_HORARIO, ID_CONSEC = item.Entity.ID_CONSEC, FEC_REGISTRO = Fechas.GetFechaDateServer, ASISTENCIA = null, EMPALME = 0, EMP_COORDINACION = 0, EMP_APROBADO = null, EMP_FECHA = null, ESTATUS = 1 }); } } if (ListInternosDia.Where(w => w.Revision && w.ListHorario != null && w.ListHorario.Where(wh => wh.State.Equals("Empalme")).Any()).Any()) { var listGA = new List <ListaEmpalmesInterno>(); var entitylistGH = new List <GRUPO_HORARIO>(); foreach (var item in ListInternosDia.Where(w => w.Revision && w.ListHorario != null && w.ListHorario.Where(wh => wh.State.Equals("Empalme")).Any())) { foreach (var itemLisAct in item.ListHorario.Where(w => w.State.Equals("Empalme"))) { entitylistGH.Add(itemLisAct.GrupoHorarioEntity); } listGA.Add(new ListaEmpalmesInterno() { EntityGrupoParticipante = item.Entity, ListGrupoHorario = entitylistGH }); } new cGrupoAsistencia().GenerarEmpalmes(listGA); } return(true); } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al modificar el estatus de los integrantes del grupo", ex); return(false); } }); if (respuesta) { await new Dialogos().ConfirmacionDialogoReturn("Manejo de Grupos", "El nuevo horario se agrego exitosamente"); } } CargarCalendarioGrupo(new cGrupo().GetData().Where(w => w.ID_GRUPO == SelectedGrupo.ID_GRUPO).FirstOrDefault()); TextError = null; PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.EDITAR_FECHA); break; case "cancelar_EdicionFecha": PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.EDITAR_FECHA); break; case "guardar_EdicionIntegrantesGrupo": respuesta = await StaticSourcesViewModel.OperacionesAsync <bool>("Actualizando estatus a los internos", () => { try { var dal = new cGrupoParticipanteCancelado(); foreach (var item in ListInternosGrupo.Where(w => w.SelectEstatus != 2)) { dal.InsertarParticipanteCancelado(new GRUPO_PARTICIPANTE_CANCELADO() { ID_CENTRO = item.Entity.ID_CENTRO, ID_ACTIVIDAD = item.Entity.ID_ACTIVIDAD, ID_TIPO_PROGRAMA = item.Entity.ID_TIPO_PROGRAMA, ID_CONSEC = item.Entity.ID_CONSEC, ID_GRUPO = item.Entity.ID_GRUPO.Value, ID_USUARIO = GlobalVar.gUsr, SOLICITUD_FEC = Fechas.GetFechaDateServer, RESPUESTA_FEC = null, MOTIVO = item.MOTIVO, ID_ESTATUS = item.SelectEstatus }); } return(true); } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al modificar el estatus de los integrantes del grupo", ex); return(false); } }); if (respuesta) { PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.EDITAR_INTEGRANTES_GRUPO); await new Dialogos().ConfirmacionDialogoReturn("Manejo de Grupo", "El cambio de estatus se actualizo exitosamente"); } break; case "cancelar_EdicionIntegranteGrupo": PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.EDITAR_INTEGRANTES_GRUPO); break; } } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error en la modificacion de la agenda", ex); } }