public async void ClickSwitch(object obj) { switch (obj.ToString()) { case "GenerarReporte": if (!pConsultar) { ReportViewerVisible = Visibility.Collapsed; new Dialogos().ConfirmacionDialogo("Validación", "Su usuario no tiene privilegios para realizar esta acción"); break; } if (!ListaIngresosSeleccionados.Any()) { var mensaje = System.Windows.Application.Current.Windows[0] as MetroWindow; var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Cerrar", AnimateShow = true, AnimateHide = false }; ReportViewerVisible = Visibility.Collapsed; await mensaje.ShowMessageAsync("Validación", "Debe seleccionar al menos un interno para generar el reporte.", MessageDialogStyle.Affirmative, mySettings); ReportViewerVisible = Visibility.Visible; } else { ReportViewerVisible = Visibility.Collapsed; Reporte.Reset(); await StaticSourcesViewModel.CargarDatosMetodoAsync(() => { GenerarReporte(); }); ReportViewerVisible = Visibility.Visible; } break; case "ObtenerIngresos": try { if (!pConsultar) { ReportViewerVisible = Visibility.Collapsed; new Dialogos().ConfirmacionDialogo("Validación", "Su usuario no tiene privilegios para realizar esta acción"); break; } ReportViewerVisible = Visibility.Collapsed; await StaticSourcesViewModel.CargarDatosMetodoAsync(() => { Pagina = 1; ListaIngresos = new List <cCredencialBiblioteca>(); EmptyVisible = true; ObtenerIngresos(); }); ReportViewerVisible = Visibility.Visible; } catch (Exception ex) { throw new ApplicationException(ex.Message); } break; case "Permitir": if (!SelectedIngreso.Seleccionado) { SeleccionarTodosIngresos = false; } else { SeleccionarTodosIngresos = !ListaIngresos.Where(w => !w.Seleccionado).Any(); } break; case "SeleccionarTodosIngresos": if (ListaIngresos.Any()) { var lista_ingresos = new List <cCredencialBiblioteca>(ListaIngresos); foreach (var Ingreso in lista_ingresos) { Ingreso.Seleccionado = SeleccionarTodosIngresos; } ListaIngresos = lista_ingresos; } else { SeleccionarTodosIngresos = false; } break; case "PermitirSeleccionado": if (!SelectedIngresoSeleccionado.Seleccionado) { SeleccionarTodosIngresosSeleccionados = false; } else { SeleccionarTodosIngresosSeleccionados = !ListaIngresosSeleccionados.Where(w => !w.Seleccionado).Any(); } break; case "SeleccionarTodosIngresosSeleccionados": if (ListaIngresosSeleccionados.Any()) { var lista_ingresos_Seleccionados = new List <cCredencialBiblioteca>(ListaIngresosSeleccionados); foreach (var Ingreso in lista_ingresos_Seleccionados) { Ingreso.Seleccionado = SeleccionarTodosIngresosSeleccionados; } ListaIngresosSeleccionados = lista_ingresos_Seleccionados; } else { SeleccionarTodosIngresosSeleccionados = false; } break; case "AgregarInternos": if (ListaIngresos.Any()) { if (ListaIngresos.Where(w => w.Seleccionado).Any()) { var lista_ingresos = new List <cCredencialBiblioteca>(ListaIngresos); var lista_ingresos_Seleccionados = new List <cCredencialBiblioteca>( ListaIngresos.Where(w => w.Seleccionado). OrderByDescending(oD => oD.Id_Anio). ThenByDescending(tD => tD.Id_Imputado). ToList()); foreach (var ingreso_Seleccionado in lista_ingresos_Seleccionados) { ingreso_Seleccionado.Seleccionado = false; lista_ingresos.Remove(ingreso_Seleccionado); } ListaIngresos = lista_ingresos.Any() ? lista_ingresos.OrderByDescending(oD => oD.Id_Anio).ThenByDescending(tD => tD.Id_Imputado).ToList() : new List <cCredencialBiblioteca>(); EmptyVisible = !ListaIngresos.Any(); EmptySeleccionadosVisible = false; ListaIngresosSeleccionados.AddRange(lista_ingresos_Seleccionados); ListaIngresosSeleccionados = ListaIngresosSeleccionados.OrderByDescending(oD => oD.Id_Anio).ThenByDescending(tD => tD.Id_Imputado).ToList(); SeleccionarTodosIngresos = false; } else { var mensaje = System.Windows.Application.Current.Windows[0] as MetroWindow; var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Cerrar", AnimateShow = true, AnimateHide = false }; ReportViewerVisible = Visibility.Collapsed; await mensaje.ShowMessageAsync("Validación", "Debe seleccionar al menos un interno.", MessageDialogStyle.Affirmative, mySettings); ReportViewerVisible = Visibility.Visible; } } else { var mensaje = System.Windows.Application.Current.Windows[0] as MetroWindow; var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Cerrar", AnimateShow = true, AnimateHide = false }; ReportViewerVisible = Visibility.Collapsed; await mensaje.ShowMessageAsync("Validación", "Lista de internos vacía. Realice una búsqueda e intente de nuevo.", MessageDialogStyle.Affirmative, mySettings); ReportViewerVisible = Visibility.Visible; } break; case "RemoverInternos": if (ListaIngresosSeleccionados.Any()) { if (ListaIngresosSeleccionados.Where(w => w.Seleccionado).Any()) { var lista_ingresos = new List <cCredencialBiblioteca>(ListaIngresosSeleccionados); var lista_ingresos_Seleccionados = new List <cCredencialBiblioteca>( ListaIngresosSeleccionados.Where(w => w.Seleccionado). OrderByDescending(oD => oD.Id_Anio). ThenByDescending(tD => tD.Id_Imputado). ToList()); foreach (var ingreso_Seleccionado in lista_ingresos_Seleccionados) { ingreso_Seleccionado.Seleccionado = false; lista_ingresos.Remove(ingreso_Seleccionado); } ListaIngresosSeleccionados = lista_ingresos.Any() ? lista_ingresos.OrderByDescending(oD => oD.Id_Anio).ThenByDescending(tD => tD.Id_Imputado).ToList() : new List <cCredencialBiblioteca>(); EmptySeleccionadosVisible = !ListaIngresosSeleccionados.Any(); EmptyVisible = false; ListaIngresos.AddRange(lista_ingresos_Seleccionados); ListaIngresos = ListaIngresos.OrderByDescending(oD => oD.Id_Anio).ThenByDescending(tD => tD.Id_Imputado).ToList(); SeleccionarTodosIngresosSeleccionados = false; } else { var mensaje = System.Windows.Application.Current.Windows[0] as MetroWindow; var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Cerrar", AnimateShow = true, AnimateHide = false }; ReportViewerVisible = Visibility.Collapsed; await mensaje.ShowMessageAsync("Validación", "Debe seleccionar al menos un interno.", MessageDialogStyle.Affirmative, mySettings); ReportViewerVisible = Visibility.Visible; } } else { var mensaje = System.Windows.Application.Current.Windows[0] as MetroWindow; var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Cerrar", AnimateShow = true, AnimateHide = false }; ReportViewerVisible = Visibility.Collapsed; await mensaje.ShowMessageAsync("Validación", "Lista de internos Seleccionados vacía.", MessageDialogStyle.Affirmative, mySettings); ReportViewerVisible = Visibility.Visible; } break; } }
public async void ClickSwitch(object obj) { switch (obj.ToString()) { case "GenerarReporte": if (!ListaIngresosSeleccionados.Any()) { var mensaje = System.Windows.Application.Current.Windows[0] as MetroWindow; var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Cerrar", AnimateShow = true, AnimateHide = false }; BrazaleteReportViewerVisible = Visibility.Collapsed; GafeteReportViewerVisible = Visibility.Collapsed; await mensaje.ShowMessageAsync("Validación", "Debe seleccionar al menos un interno para generar el reporte.", MessageDialogStyle.Affirmative, mySettings); BrazaleteReportViewerVisible = BrazaleteSelected ? Visibility.Visible : Visibility.Collapsed; GafeteReportViewerVisible = GafeteSelected ? Visibility.Visible : Visibility.Collapsed; } else { Reporte.Reset(); if (BrazaleteSelected) { BrazaleteReportViewerVisible = Visibility.Collapsed; GenerarReporte(enumTipoReporte.BRAZALETE); BrazaleteReportViewerVisible = Visibility.Visible; } else { GafeteReportViewerVisible = Visibility.Collapsed; GenerarReporte(enumTipoReporte.GAFETE); GafeteReportViewerVisible = Visibility.Visible; } } break; case "ObtenerIngresos": try { System.Windows.Application.Current.Dispatcher.Invoke((System.Action)(delegate { BrazaleteReportViewerVisible = Visibility.Collapsed; GafeteReportViewerVisible = Visibility.Collapsed; })); await StaticSourcesViewModel.CargarDatosMetodoAsync(() => { Pagina = 1; ListaIngresos = new List <cInternoGafeteBrazalete>(); EmptyVisible = true; ObtenerIngresos(); }); System.Windows.Application.Current.Dispatcher.Invoke((System.Action)(delegate { BrazaleteReportViewerVisible = BrazaleteSelected ? Visibility.Visible : Visibility.Collapsed; GafeteReportViewerVisible = GafeteSelected ? Visibility.Visible : Visibility.Collapsed; })); } catch (Exception ex) { throw new ApplicationException(ex.Message); } break; case "Permitir": if (!SelectedIngreso.SELECCIONADO) { SeleccionarTodosIngresos = false; } else { SeleccionarTodosIngresos = !ListaIngresos.Where(w => !w.SELECCIONADO).Any(); } break; case "SeleccionarTodosIngresos": if (ListaIngresos.Any()) { var lista_ingresos = new List <cInternoGafeteBrazalete>(ListaIngresos); foreach (var Ingreso in lista_ingresos) { Ingreso.SELECCIONADO = SeleccionarTodosIngresos; } ListaIngresos = lista_ingresos; } else { SeleccionarTodosIngresos = false; } break; case "PermitirSeleccionado": if (!SelectedIngresoSeleccionado.SELECCIONADO) { SeleccionarTodosIngresosSeleccionados = false; } else { SeleccionarTodosIngresosSeleccionados = !ListaIngresosSeleccionados.Where(w => !w.SELECCIONADO).Any(); } break; case "SeleccionarTodosIngresosSeleccionados": if (ListaIngresosSeleccionados.Any()) { var lista_ingresos_seleccionados = new List <cInternoGafeteBrazalete>(ListaIngresosSeleccionados); foreach (var Ingreso in lista_ingresos_seleccionados) { Ingreso.SELECCIONADO = SeleccionarTodosIngresosSeleccionados; } ListaIngresosSeleccionados = lista_ingresos_seleccionados; } else { SeleccionarTodosIngresosSeleccionados = false; } break; case "AgregarInternos": if (ListaIngresos.Any()) { if (ListaIngresos.Where(w => w.SELECCIONADO).Any()) { var lista_ingresos = new List <cInternoGafeteBrazalete>(ListaIngresos); var lista_ingresos_seleccionados = new List <cInternoGafeteBrazalete>( ListaIngresos.Where(w => w.SELECCIONADO). OrderByDescending(oD => oD.ID_ANIO). ThenByDescending(tD => tD.ID_IMPUTADO). ToList()); foreach (var ingreso_seleccionado in lista_ingresos_seleccionados) { ingreso_seleccionado.SELECCIONADO = false; lista_ingresos.Remove(ingreso_seleccionado); } ListaIngresos = lista_ingresos.Any() ? lista_ingresos.OrderByDescending(oD => oD.ID_ANIO).ThenByDescending(tD => tD.ID_IMPUTADO).ToList() : new List <cInternoGafeteBrazalete>(); EmptyVisible = !ListaIngresos.Any(); EmptySeleccionadosVisible = false; ListaIngresosSeleccionados.AddRange(lista_ingresos_seleccionados); ListaIngresosSeleccionados = ListaIngresosSeleccionados.OrderByDescending(oD => oD.ID_ANIO).ThenByDescending(tD => tD.ID_IMPUTADO).ToList(); SeleccionarTodosIngresos = false; } else { var mensaje = System.Windows.Application.Current.Windows[0] as MetroWindow; var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Cerrar", AnimateShow = true, AnimateHide = false }; BrazaleteReportViewerVisible = Visibility.Collapsed; GafeteReportViewerVisible = Visibility.Collapsed; await mensaje.ShowMessageAsync("Validación", "Debe seleccionar al menos un interno.", MessageDialogStyle.Affirmative, mySettings); BrazaleteReportViewerVisible = BrazaleteSelected ? Visibility.Visible : Visibility.Collapsed; GafeteReportViewerVisible = GafeteSelected ? Visibility.Visible : Visibility.Collapsed; } } else { var mensaje = System.Windows.Application.Current.Windows[0] as MetroWindow; var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Cerrar", AnimateShow = true, AnimateHide = false }; BrazaleteReportViewerVisible = Visibility.Collapsed; GafeteReportViewerVisible = Visibility.Collapsed; await mensaje.ShowMessageAsync("Validación", "Lista de internos vacía. Realice una búsqueda e intente de nuevo.", MessageDialogStyle.Affirmative, mySettings); BrazaleteReportViewerVisible = BrazaleteSelected ? Visibility.Visible : Visibility.Collapsed; GafeteReportViewerVisible = GafeteSelected ? Visibility.Visible : Visibility.Collapsed; } break; case "RemoverInternos": if (ListaIngresosSeleccionados.Any()) { if (ListaIngresosSeleccionados.Where(w => w.SELECCIONADO).Any()) { var lista_ingresos = new List <cInternoGafeteBrazalete>(ListaIngresosSeleccionados); var lista_ingresos_seleccionados = new List <cInternoGafeteBrazalete>( ListaIngresosSeleccionados.Where(w => w.SELECCIONADO). OrderByDescending(oD => oD.ID_ANIO). ThenByDescending(tD => tD.ID_IMPUTADO). ToList()); foreach (var ingreso_seleccionado in lista_ingresos_seleccionados) { ingreso_seleccionado.SELECCIONADO = false; lista_ingresos.Remove(ingreso_seleccionado); } ListaIngresosSeleccionados = lista_ingresos.Any() ? lista_ingresos.OrderByDescending(oD => oD.ID_ANIO).ThenByDescending(tD => tD.ID_IMPUTADO).ToList() : new List <cInternoGafeteBrazalete>(); EmptySeleccionadosVisible = !ListaIngresosSeleccionados.Any(); EmptyVisible = false; ListaIngresos.AddRange(lista_ingresos_seleccionados); ListaIngresos = ListaIngresos.OrderByDescending(oD => oD.ID_ANIO).ThenByDescending(tD => tD.ID_IMPUTADO).ToList(); SeleccionarTodosIngresosSeleccionados = false; } else { var mensaje = System.Windows.Application.Current.Windows[0] as MetroWindow; var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Cerrar", AnimateShow = true, AnimateHide = false }; BrazaleteReportViewerVisible = Visibility.Collapsed; GafeteReportViewerVisible = Visibility.Collapsed; await mensaje.ShowMessageAsync("Validación", "Debe seleccionar al menos un interno.", MessageDialogStyle.Affirmative, mySettings); BrazaleteReportViewerVisible = BrazaleteSelected ? Visibility.Visible : Visibility.Collapsed; GafeteReportViewerVisible = GafeteSelected ? Visibility.Visible : Visibility.Collapsed; } } else { var mensaje = System.Windows.Application.Current.Windows[0] as MetroWindow; var mySettings = new MetroDialogSettings() { AffirmativeButtonText = "Cerrar", AnimateShow = true, AnimateHide = false }; BrazaleteReportViewerVisible = Visibility.Collapsed; GafeteReportViewerVisible = Visibility.Collapsed; await mensaje.ShowMessageAsync("Validación", "Lista de internos seleccionados vacía.", MessageDialogStyle.Affirmative, mySettings); BrazaleteReportViewerVisible = BrazaleteSelected ? Visibility.Visible : Visibility.Collapsed; GafeteReportViewerVisible = GafeteSelected ? Visibility.Visible : Visibility.Collapsed; } break; } }