public void ObtenerInternosActividad() { try { FotoInternoSeleccionado = new Imagenes().getImagenPerson(); var lista_internos_actividad = new cGrupoAsistencia().GetData( g => g.GRUPO_HORARIO.ID_GRUPO_HORARIO == SelectedActividad.ID_GRUPO_HORARIO && g.ID_GRUPO == SelectedActividad.ID_GRUPO ).ToList(); List <InternosActividad> internos = new List <InternosActividad>(); foreach (var interno in lista_internos_actividad) { var ingreso = interno.GRUPO_PARTICIPANTE.INGRESO; internos.Add(new InternosActividad() { Anio = (short)interno.GRUPO_PARTICIPANTE.ING_ID_ANIO, Centro = (short)interno.GRUPO_PARTICIPANTE.ING_ID_CENTRO, IdImputado = (int)interno.GRUPO_PARTICIPANTE.ING_ID_IMPUTADO, Expediente = string.Format("{0}/{1}", interno.GRUPO_PARTICIPANTE.ING_ID_ANIO, interno.GRUPO_PARTICIPANTE.ING_ID_IMPUTADO), Nombre = ingreso.IMPUTADO.NOMBRE.TrimEnd(), Paterno = ingreso.IMPUTADO.PATERNO.TrimEnd(), Materno = ingreso.IMPUTADO.MATERNO.TrimEnd(), Asistencia = interno.ASISTENCIA != null ? true : false }); } Responsable = string.Format("{1} {2} {0}", SelectedActividad.GRUPO.PERSONA.NOMBRE.TrimEnd(), SelectedActividad.GRUPO.PERSONA.PATERNO.TrimEnd(), SelectedActividad.GRUPO.PERSONA.MATERNO.TrimEnd()); ListaInternosActividad = internos; } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al obtener los internos de la actividad.", ex); } }
/// <summary> /// metodo para la interaccion con el menu /// </summary> /// <param name="obj">valor del menu seleccioinado</param> private async void clickSwitch(Object obj) { try { switch (obj.ToString()) { case "menu_cancelar": ((System.Windows.Controls.ContentControl)PopUpsViewModels.MainWindow.FindName("contentControl")).Content = null; ((System.Windows.Controls.ContentControl)PopUpsViewModels.MainWindow.FindName("contentControl")).DataContext = null; ((System.Windows.Controls.ContentControl)PopUpsViewModels.MainWindow.FindName("contentControl")).Content = new ManejoEmpalmesView(); ((System.Windows.Controls.ContentControl)PopUpsViewModels.MainWindow.FindName("contentControl")).DataContext = new ManejoEmpalmesViewModel(); break; case "menu_guardar": // proceso para guardar las deciciones de los empalmes if (SelectedParticipante == null) { return; } if (await new Dialogos().ConfirmarEliminar("Manejo de Empalmes", "Esta Seguro De Guardar?") == 0) { break; } var result = await StaticSourcesViewModel.OperacionesAsync <bool>("Guardando...", () => { var dalGA = new cGrupoAsistencia(); foreach (var item in SelectedParticipante.PorHora) { var entitUpdate = dalGA.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 && w.ID_CONSEC == item.Entity.ID_CONSEC && w.ID_GRUPO_HORARIO == item.Entity.ID_GRUPO_HORARIO && w.EMPALME == item.Entity.EMPALME && w.EMP_COORDINACION == 1 && w.ESTATUS == 1).AsEnumerable().Select(s => new GRUPO_ASISTENCIA { ASISTENCIA = s.ASISTENCIA, EMP_APROBADO = item.Check ? 1 : 0, EMP_COORDINACION = 2, EMP_FECHA = Fechas.GetFechaDateServer, EMPALME = s.EMPALME, ESTATUS = s.ESTATUS, FEC_REGISTRO = item.Check ? Fechas.GetFechaDateServer : s.FEC_REGISTRO, ID_ACTIVIDAD = s.ID_ACTIVIDAD, ID_CENTRO = s.ID_CENTRO, ID_CONSEC = s.ID_CONSEC, ID_GRUPO = s.ID_GRUPO, ID_GRUPO_HORARIO = s.ID_GRUPO_HORARIO, ID_TIPO_PROGRAMA = s.ID_TIPO_PROGRAMA }).FirstOrDefault(); dalGA.Update(entitUpdate); } return(true); }); if (result) { await new Dialogos().ConfirmacionDialogoReturn("Manejo de Empalmes", "Grabado Exitosamente"); } ManejoEmpalmeLoad(null); break; case "menu_salir": PrincipalViewModel.SalirMenu(); break; } } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error en el flujo del modulo.", 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); } }