private void LblNuevo_Click(object sender, EventArgs e)
        {
            var insertUpdateVisibility = new FrmABMInsertUpdateVisibilidad(null);

            insertUpdateVisibility.ShowDialog();

            //Paso NULL para volver a obtener todos los registros de la base
            if (insertUpdateVisibility.CompleteAction)
            {
                RefreshSources(null);
            }
        }
        private void DgvVisibilidad_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            //Only works when user clicks one of the buttons (column index 5 and 6)
            if (e.ColumnIndex < 6 || e.RowIndex == -1)
            {
                return;
            }

            var selectedVisibility = _visibilities.Find(visibility => visibility.ID == (int)DgvVisibilidad.Rows[e.RowIndex].Cells[0].Value);

            if (selectedVisibility != null)
            {
                //El usuario tocó el botón de modificar
                if (e.ColumnIndex == 6)
                {
                    var insertUpdateVisibility = new FrmABMInsertUpdateVisibilidad(selectedVisibility);
                    insertUpdateVisibility.ShowDialog();

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

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

                    var dialogAnswer = MessageBox.Show(string.Format("Esta seguro que quiere desactivar la visibilidad {0}?", selectedVisibility.Descripcion), "Atención", MessageBoxButtons.YesNo);
                    if (dialogAnswer == DialogResult.Yes)
                    {
                        selectedVisibility.Activo = false;
                        VisibilidadPersistance.Update(selectedVisibility);

                        //Vuelvo a cargar la lista de roles
                        RefreshSources(null);
                    }
                }
            }
        }
        private void DgvVisibilidad_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            //Only works when user clicks one of the buttons (column index 5 and 6)
            if (e.ColumnIndex < 6 || e.RowIndex == -1)
                return;

            var selectedVisibility = _visibilities.Find(visibility => visibility.ID == (int)DgvVisibilidad.Rows[e.RowIndex].Cells[0].Value);

            if (selectedVisibility != null)
            {
                //El usuario tocó el botón de modificar
                if (e.ColumnIndex == 6)
                {
                    var insertUpdateVisibility = new FrmABMInsertUpdateVisibilidad(selectedVisibility);
                    insertUpdateVisibility.ShowDialog();

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

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

                    var dialogAnswer = MessageBox.Show(string.Format("Esta seguro que quiere desactivar la visibilidad {0}?", selectedVisibility.Descripcion), "Atención", MessageBoxButtons.YesNo);
                    if (dialogAnswer == DialogResult.Yes)
                    {
                        selectedVisibility.Activo = false;
                        VisibilidadPersistance.Update(selectedVisibility);

                        //Vuelvo a cargar la lista de roles
                        RefreshSources(null);
                    }
                }
            }
        }
        private void LblNuevo_Click(object sender, EventArgs e)
        {
            var insertUpdateVisibility = new FrmABMInsertUpdateVisibilidad(null);
            insertUpdateVisibility.ShowDialog();

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