private async void clickSwitch(object op) { switch (op.ToString()) { #region Departamento Seleccionado case "editar_departamento": if (!pEditar) { new Dialogos().ConfirmacionDialogo("Validación", "Su usuario no tiene privilegios para realizar esta acción"); break; } if (SelectDep != null) { if (SelectDep.ID_ROL != null) { if (StaticSourcesViewModel.SourceChanged) { var dialogresult = await(new Dialogos()).ConfirmarEliminar("Advertencia", "Hay cambios sin guardar, ¿Seguro que desea cambiar de departamento sin guardar?"); if (dialogresult != 0) { StaticSourcesViewModel.SourceChanged = false; } else { return; } } PopularCoordinadoresDepSeleccionado(); } else { (new Dialogos()).ConfirmacionDialogo("Validación", "No puede asignar un coordinador porque no hay un rol de coordinación asignado al departamento.."); OcultarTodoGrupoCoordinadoresDep(); } } else { (new Dialogos()).ConfirmacionDialogo("Validación", "Debe de seleccionar un departamento para realizar esta accion."); OcultarTodoGrupoCoordinadoresDep(); } break; #endregion #region Coordinadores de departamento Seleccionado case "Asignar_Coordinador": if (!pInsertar) { new Dialogos().ConfirmacionDialogo("Validación", "Su usuario no tiene privilegios para realizar esta acción"); break; } Guardar_Editar = "Guardar"; // ------------------------------- Validacion Seleccionar un departamento para proceder con registro------------------------------------------------- if (SelectDep != null) { GroupCentroSeleccionado = Visibility.Visible; BotonGuardarVisibilty = Visibility.Visible; VisibilityBotonCancelar = Visibility.Visible; LimpiarControles(); OperacionActivaEnable = false; //Deshabilita Grid Departamento y COORDINADOR Seleccionado } else { (new Dialogos()).ConfirmacionDialogo("Validación", "Debe de seleccionar un departamento para realizar esta accion."); } break; case "editar_Coordinador": if (!pEditar) { new Dialogos().ConfirmacionDialogo("Validación", "Su usuario no tiene privilegios para realizar esta acción"); break; } Guardar_Editar = "Editar"; if (SelectedCoordinadoresAsignados != null) { LimpiarControles(); OperacionActivaEnable = false; PopularCentroSeleccionado(); } else { (new Dialogos()).ConfirmacionDialogo("Validación", "Debe de seleccionar un coordinador para editar un registro."); } break; case "eliminar_Coordinador": if (!pEditar) { new Dialogos().ConfirmacionDialogo("Validación", "Su usuario no tiene privilegios para realizar esta acción"); break; } if (SelectedCoordinadoresAsignados != null) { if (await new Dialogos().ConfirmarEliminar("Confirmación de eliminación", "Esta seguro de eliminar al coordinador del departamento: " + SelectDep.DESCR + "?") != 1) { break; } try { if (new cDepartamentoAcceso().Eliminar((new DEPARTAMENTO_ACCESO() { ID_DEPARTAMENTO = SelectedCoordinadoresAsignados.OBJETO_DEPARTAMENTO_ACCESO.ID_DEPARTAMENTO, ID_USUARIO = SelectedCoordinadoresAsignados.OBJETO_DEPARTAMENTO_ACCESO.ID_USUARIO, REGISTRO_FEC = SelectedCoordinadoresAsignados.OBJETO_DEPARTAMENTO_ACCESO.REGISTRO_FEC }))) { await new Dialogos().ConfirmacionDialogoReturn("Éxito", "Registro Eliminado"); PopularCoordinadoresDepSeleccionado(); } } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al Editar", ex); } } else { (new Dialogos()).ConfirmacionDialogo("Validación", "Debe de seleccionar un coordinador para eliminar un registro."); } break; #endregion case "guardar": string ProcesoTipo = string.Empty; bool EXITO_PROCESO = false; if (base.HasErrors) { (new Dialogos()).ConfirmacionDialogo("Validación", "Debe de llenar todos los campo Obligatorios."); } else { if (Guardar_Editar == "Guardar") { if (!pInsertar) { new Dialogos().ConfirmacionDialogo("Validación", "Su usuario no tiene privilegios para realizar esta acción"); break; } ProcesoTipo = "Guardar"; if (SelectedCoordinador.ID_EMPLEADO > -1) { //inicio using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) { try { if (new cDepartamentoAcceso().Insertar(new DEPARTAMENTO_ACCESO() { ID_DEPARTAMENTO = SelectDep.ID_DEPARTAMENTO, ID_USUARIO = UsuarioControlador.Obtener(SelectedCoordinador.ID_EMPLEADO).FirstOrDefault().ID_USUARIO.Trim(), REGISTRO_FEC = FechaServer })) { transaccion.Complete(); StaticSourcesViewModel.SourceChanged = false; GroupCentroSeleccionado = Visibility.Hidden; BotonGuardarVisibilty = Visibility.Hidden; VisibilityBotonCancelar = Visibility.Hidden; OperacionActivaEnable = true; EXITO_PROCESO = true; new Dialogos().ConfirmacionDialogo("Éxito", "La información se registro correctamente"); } } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al guardar", ex); } } } //fin } else { if (Guardar_Editar == "Editar") { //Ijnicio if (!pEditar) { new Dialogos().ConfirmacionDialogo("Validación", "Su usuario no tiene privilegios para realizar esta acción"); break; } using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted })) { try { ProcesoTipo = "Editar"; if (new cDepartamentoAcceso().Eliminar(new DEPARTAMENTO_ACCESO() { ID_DEPARTAMENTO = SelectedCoordinadoresAsignados.OBJETO_DEPARTAMENTO_ACCESO.ID_DEPARTAMENTO, ID_USUARIO = SelectedCoordinadoresAsignados.OBJETO_DEPARTAMENTO_ACCESO.ID_USUARIO, REGISTRO_FEC = SelectedCoordinadoresAsignados.OBJETO_DEPARTAMENTO_ACCESO.REGISTRO_FEC })) { //------------------------------------------------Nueva Relacion------------------------------------------ if (new cDepartamentoAcceso().Insertar(new DEPARTAMENTO_ACCESO() { ID_DEPARTAMENTO = SelectDep.ID_DEPARTAMENTO, ID_USUARIO = UsuarioControlador.Obtener(SelectedCoordinador.ID_EMPLEADO).FirstOrDefault().ID_USUARIO, REGISTRO_FEC = FechaServer })) { transaccion.Complete(); StaticSourcesViewModel.SourceChanged = false; GroupCentroSeleccionado = Visibility.Hidden; BotonGuardarVisibilty = Visibility.Hidden; VisibilityBotonCancelar = Visibility.Hidden; OperacionActivaEnable = true; EXITO_PROCESO = true; new Dialogos().ConfirmacionDialogo("Éxito", "La información se Edito correctamente"); } } } catch (Exception ex) { StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al Editar", ex); } } } //Fin } //Si no ocurrio error if (EXITO_PROCESO) { PopularCoordinadoresDepSeleccionado(); } } break; case "cancelar": if (StaticSourcesViewModel.SourceChanged) { var dialogresult = await(new Dialogos()).ConfirmarEliminar("Advertencia", "Hay cambios sin guardar, ¿Seguro que desea cancelar sin guardar?"); if (dialogresult != 0) { StaticSourcesViewModel.SourceChanged = false; } else { return; } } GroupCentroSeleccionado = Visibility.Hidden; BotonGuardarVisibilty = Visibility.Hidden; VisibilityBotonCancelar = Visibility.Hidden; LimpiarControles(); break; case "salir_menu": //if (!Changed) if (StaticSourcesViewModel.SourceChanged) { var dialogresult = await(new Dialogos()).ConfirmarEliminar("Advertencia", "Hay cambios sin guardar, ¿Seguro que desea salir sin guardar?"); if (dialogresult != 0) { StaticSourcesViewModel.SourceChanged = false; } else { return; } } PrincipalViewModel.SalirMenu(); break; case "limpiar_menu": if (StaticSourcesViewModel.SourceChanged) { var dialogresult = await(new Dialogos()).ConfirmarEliminar("Advertencia", "Hay cambios sin guardar, ¿Seguro que desea limpiar la pantalla sin guardar?"); if (dialogresult != 0) { StaticSourcesViewModel.SourceChanged = false; } else { return; } } ((System.Windows.Controls.ContentControl)PopUpsViewModels.MainWindow.FindName("contentControl")).Content = new ConfiguracionDepartamentosView(); ((System.Windows.Controls.ContentControl)PopUpsViewModels.MainWindow.FindName("contentControl")).DataContext = new ConfiguracionDepartamentosViewModel(); break; case "ayuda_menu": break; } }