bool ValidacionesVisitasPorEdificio() { if (ListVisitasPorEdificio.Where(w => w.ID_CENTRO == List_Edificio.Where(wh => wh.ID_EDIFICIO == SelectEdificio).FirstOrDefault().ID_CENTRO&& w.ID_EDIFICIO == SelectEdificio.Value && w.ID_SECTOR == SelectSector.Value && w.ID_TIPO_VISITA == SelectTipoVisita && w.CELDA_INICIO == SelectCeldaInicio && w.CELDA_FINAL == SelectCeldaFin).Any()) { (new Dialogos()).ConfirmacionDialogo("Advertencia!", "Ya existe un registro con los mismos datos."); return(true); } var lista = CompararCeldas(List_Edificio.Where(wh => wh.ID_EDIFICIO == SelectEdificio).FirstOrDefault().ID_CENTRO, SelectEdificio.Value, SelectSector.Value, SelectCeldaInicio, SelectCeldaFin); foreach (var item in ListVisitasPorEdificio) { foreach (var itm in CompararCeldas(item.ID_CENTRO, item.ID_EDIFICIO, item.ID_SECTOR, item.CELDA_INICIO, item.CELDA_FINAL)) { if (lista.Where(w => w.ID_CELDA == itm.ID_CELDA && w.ID_EDIFICIO == itm.ID_EDIFICIO && w.ID_SECTOR == itm.ID_SECTOR && w.ID_CENTRO == itm.ID_CENTRO && item.ID_TIPO_VISITA == SelectTipoVisita).Any()) { (new Dialogos()).ConfirmacionDialogo("Advertencia!", "Este rango de celdas se empalma con uno ya registrado."); return(true); } } } return(false); }
public async void clickSwitch(Object obj) { try { switch (obj.ToString()) { case "actualizar": await StaticSourcesViewModel.CargarDatosMetodoAsync(() => { ListVisitasPorEdificio = new ObservableCollection <VISITA_EDIFICIO>(new cVisitaEdificio().ObtenerTodosActivos(GlobalVar.gCentro, SelectFechaFiltro == -1 ? new Nullable <int>() : SelectFechaFiltro)); EmptyVisible = ListVisitasPorEdificio.Count > 0 ? Visibility.Collapsed : Visibility.Visible; }); break; case "guardar_visita_edificio": if (HasError()) { (new Dialogos()).ConfirmacionDialogo("Validación!", string.Format("Validar el campo: {0}.", base.Error)); break; } //Valida Horas int inicio = int.Parse(HoraInicio + MinutoInicio); int fin = int.Parse(HoraFin + MinutoFin); if (inicio > fin) { (new Dialogos()).ConfirmacionDialogo("Validación!", "La hora de inicio debe ser menor o igual a la hora final"); break; } //if (ValidacionesVisitasPorEdificio()) if (!ValidacionesGuardar()) { break; } if (new cVisitaEdificio().Insertar(new VISITA_EDIFICIO { ID_TIPO_VISITA = SelectTipoVisita.Value, ID_CENTRO = List_Edificio.Where(w => w.ID_EDIFICIO == SelectEdificio).FirstOrDefault().ID_CENTRO, ID_EDIFICIO = SelectEdificio.Value, ID_SECTOR = SelectSector.Value, CELDA_INICIO = SelectCeldaInicio, CELDA_FINAL = SelectCeldaFin, ESTATUS = "0", FECHA_ALTA = Fechas.GetFechaDateServer, DIA = (short)SelectDiaVisita, HORA_FIN = HoraInicio + MinutoInicio, //HoraSalida, HORA_INI = HoraFin + MinutoFin, //HoraEntrada, ID_AREA = SelectArea })) { (new Dialogos()).ConfirmacionDialogo("Éxito!", "Guardado con éxito."); ListVisitasPorEdificio = new ObservableCollection <VISITA_EDIFICIO>(new cVisitaEdificio().ObtenerTodosActivos(GlobalVar.gCentro, SelectFechaFiltro == -1 ? new Nullable <int>() : SelectFechaFiltro)); EmptyVisible = ListVisitasPorEdificio.Count > 0 ? Visibility.Collapsed : Visibility.Visible; LimpiarCampos(); PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.AGREGAR_VISITA_EDIFICIO); break; } (new Dialogos()).ConfirmacionDialogo("Advertencia!", "Error al guardar los datos de la visita."); break; case "borrar_visita_edificio": if (SelectVisitaEdificio == null) { (new Dialogos()).ConfirmacionDialogo("Advertencia!", "Debes seleccionar una visita."); return; } if (await new Dialogos().ConfirmarEliminar("Advertencia!", "Esta seguro que desea borrar esta visita?") == 1) { if (new cVisitaEdificio().Actualizar(new VISITA_EDIFICIO { CELDA_FINAL = SelectVisitaEdificio.CELDA_FINAL, CELDA_INICIO = SelectVisitaEdificio.CELDA_INICIO, DIA = SelectVisitaEdificio.DIA, ESTATUS = "1", FECHA_ALTA = SelectVisitaEdificio.FECHA_ALTA, ID_CENTRO = SelectVisitaEdificio.ID_CENTRO, ID_CONSEC = SelectVisitaEdificio.ID_CONSEC, ID_EDIFICIO = SelectVisitaEdificio.ID_EDIFICIO, ID_SECTOR = SelectVisitaEdificio.ID_SECTOR, ID_TIPO_VISITA = SelectVisitaEdificio.ID_TIPO_VISITA, HORA_INI = SelectVisitaEdificio.HORA_INI, HORA_FIN = SelectVisitaEdificio.HORA_FIN })) { (new Dialogos()).ConfirmacionDialogo("Éxito!", "Guardado con éxito."); ListVisitasPorEdificio = new ObservableCollection <VISITA_EDIFICIO>(new cVisitaEdificio().ObtenerTodosActivos(/*4*/ GlobalVar.gCentro, SelectFechaFiltro == -1 ? new Nullable <int>() : SelectFechaFiltro)); EmptyVisible = ListVisitasPorEdificio.Count > 0 ? Visibility.Collapsed : Visibility.Visible; } else { (new Dialogos()).ConfirmacionDialogo("Advertencia!", "Error al guardar."); } } break; case "cancelar_visita_edificio": base.ClearRules(); PopUpsViewModels.ClosePopUp(PopUpsViewModels.TipoPopUp.AGREGAR_VISITA_EDIFICIO); break; case "agregar_visita_edificio": LimpiarCampos(); SetValidaciones(); PopUpsViewModels.ShowPopUp(this, PopUpsViewModels.TipoPopUp.AGREGAR_VISITA_EDIFICIO); break; case "filtrar": ListVisitasPorEdificio = new ObservableCollection <VISITA_EDIFICIO>(new cVisitaEdificio().ObtenerTodosActivos(/*4*/ GlobalVar.gCentro, SelectFechaFiltro == -1 ? new Nullable <int>() : SelectFechaFiltro)); EmptyVisible = ListVisitasPorEdificio.Count > 0 ? Visibility.Collapsed : Visibility.Visible; break; case "limpiar_menu": ((System.Windows.Controls.ContentControl)PopUpsViewModels.MainWindow.FindName("contentControl")).Content = new ProgramacionVisitaEdificioView(); ((System.Windows.Controls.ContentControl)PopUpsViewModels.MainWindow.FindName("contentControl")).DataContext = new ControlPenales.ProgramacionVisitaEdificioViewModel(); break; case "salir_menu": PrincipalViewModel.SalirMenu(); break; } } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al ejecutar acción.", ex); } }