Esempio n. 1
0
        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;
            }
        }