Пример #1
0
        private void DgvRol_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            //Funciona solo cuando el usuario hace click en una fila (no en la cabecera)
            if (e.RowIndex == -1)
            {
                return;
            }

            //Obtengo el rol correspondiente a la fila seleccionada a partir del ID (primer columna de la fila)
            var selectedRole = _roles.Find(role => role.Descripcion == (string)DgvRol.Rows[e.RowIndex].Cells[0].Value);

            if (selectedRole != null)
            {
                //Cargo la lista de funcionalidades del rol
                LstFuncionalidades.DataSource = selectedRole.Funcionalidades;

                //El usuario tocó el botón de modificar
                if (e.ColumnIndex == 2)
                {
                    var insertUpdateVisibility = new FrmABMInsertUpdateRol(selectedRole);
                    insertUpdateVisibility.ShowDialog();

                    //Si modificó satisfactoriamante el rol, actualizo la grilla
                    if (insertUpdateVisibility.CompleteAction)
                    {
                        RefreshSources(null);
                    }
                }
                else if (e.ColumnIndex == 3)
                {
                    //El usuario tocó el botón de eliminar

                    //El rol seleccionado ya se encuentra eliminado (baja lógica)
                    if (!selectedRole.Activo)
                    {
                        MessageBox.Show("No se puede eliminar la funcionalidad ya que ya se encuentra desactivada", "Atencion");
                        return;
                    }

                    //Esta tratando de eliminar el rol con el que esta logueado (no lo permito)
                    if (selectedRole.ID == SessionManager.CurrentRol.ID)
                    {
                        MessageBox.Show("No se puede eliminar el rol ya que es el rol con el que actualmente se encuentra logueado", "Atencion");
                        return;
                    }

                    var dialogAnswer = MessageBox.Show(string.Format("Esta seguro que quiere desactivar el rol {0}?", selectedRole.Descripcion), "Atención", MessageBoxButtons.YesNo);
                    if (dialogAnswer == DialogResult.Yes)
                    {
                        //Defino que ya no este más activo el rol e impacto en la base de datos
                        selectedRole.Activo = false;
                        RolPersistance.Update(selectedRole, null);

                        //Vuelvo a cargar la lista de roles
                        RefreshSources(null);
                    }
                }
            }
        }
Пример #2
0
        private void LblNuevo_Click(object sender, EventArgs e)
        {
            var insertUpdateForm = new FrmABMInsertUpdateRol(null);

            insertUpdateForm.ShowDialog();

            //Paso NULL para volver a obtener todos los registros de la base
            RefreshSources(null);
        }
Пример #3
0
        private void DgvRol_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            //Funciona solo cuando el usuario hace click en una fila (no en la cabecera)
            if (e.RowIndex == -1)
                return;

            //Obtengo el rol correspondiente a la fila seleccionada a partir del ID (primer columna de la fila)
            var selectedRole = _roles.Find(role => role.Descripcion == (string)DgvRol.Rows[e.RowIndex].Cells[0].Value);

            if (selectedRole != null)
            {
                //Cargo la lista de funcionalidades del rol
                LstFuncionalidades.DataSource = selectedRole.Funcionalidades;

                //El usuario tocó el botón de modificar
                if (e.ColumnIndex == 2)
                {
                    var insertUpdateVisibility = new FrmABMInsertUpdateRol(selectedRole);
                    insertUpdateVisibility.ShowDialog();

                    //Si modificó satisfactoriamante el rol, actualizo la grilla
                    if (insertUpdateVisibility.CompleteAction)
                        RefreshSources(null);
                }
                else if (e.ColumnIndex == 3)
                {
                    //El usuario tocó el botón de eliminar

                    //El rol seleccionado ya se encuentra eliminado (baja lógica)
                    if (!selectedRole.Activo)
                    {
                        MessageBox.Show("No se puede eliminar la funcionalidad ya que ya se encuentra desactivada", "Atencion");
                        return;
                    }

                    //Esta tratando de eliminar el rol con el que esta logueado (no lo permito)
                    if (selectedRole.ID == SessionManager.CurrentRol.ID)
                    {
                        MessageBox.Show("No se puede eliminar el rol ya que es el rol con el que actualmente se encuentra logueado", "Atencion");
                        return;
                    }

                    var dialogAnswer = MessageBox.Show(string.Format("Esta seguro que quiere desactivar el rol {0}?", selectedRole.Descripcion), "Atención", MessageBoxButtons.YesNo);
                    if (dialogAnswer == DialogResult.Yes)
                    {
                        //Defino que ya no este más activo el rol e impacto en la base de datos
                        selectedRole.Activo = false;
                        RolPersistance.Update(selectedRole, null);

                        //Vuelvo a cargar la lista de roles
                        RefreshSources(null);
                    }
                }
            }
        }
Пример #4
0
        private void LblNuevo_Click(object sender, EventArgs e)
        {
            var insertUpdateForm = new FrmABMInsertUpdateRol(null);
            insertUpdateForm.ShowDialog();

            //Paso NULL para volver a obtener todos los registros de la base
            RefreshSources(null);
        }