//Evento Uncheck de los items en la grilla. private void chkDiscontinue_Unchecked(object sender, RoutedEventArgs e) { //Obtener elemento seleccionado. System.Windows.Controls.CheckBox checkBox = (System.Windows.Controls.CheckBox)e.OriginalSource; //Obtener objeto asociado a elemento seleccinado DataGridRow dataGridRow = VisualTreeHelpers.FindAncestor <DataGridRow>(checkBox); ReportePermiso doc = (ReportePermiso)dataGridRow.DataContext; if ((bool)checkBox.IsChecked == false) { doc.Check = false; } e.Handled = true; }
private void cs_pxCargarPermisos() { lista_permisos = new List <ReportePermiso>(); dgUsuarios.ItemsSource = null; dgUsuarios.Items.Clear(); string cuenta = cboUsuarios.SelectedValue.ToString(); if (cuenta != "") { //buscar todos los modulos de la base de datos List <clsEntityModulo> modulos = new clsEntityModulo().cs_pxObtenerTodo(); if (modulos != null) { foreach (clsEntityModulo item in modulos) { permiso = new ReportePermiso(); //buscar permiso por cuenta y modulo entidad_permiso = new clsEntityPermisos().cs_pxObtenerPorCodigoCuenta(item.Cs_pr_Modulo_Id, cuenta); if (entidad_permiso != null) { permiso.Id = entidad_permiso.Cs_pr_Permisos_Id; permiso.Modulo = item.Cs_pr_Modulo; permiso.ModuloPadre = item.Cs_pr_Modulo_Padre; permiso.Permitido = entidad_permiso.Cs_pr_Permitido; if (permiso.Permitido == "1") { permiso.Check = true; } else { permiso.Check = false; } } else { permiso.Id = Guid.NewGuid().ToString(); permiso.Check = false; permiso.Modulo = item.Cs_pr_Modulo; permiso.ModuloPadre = item.Cs_pr_Modulo_Padre; permiso.Usuario = item.Cs_pr_Modulo_Id; permiso.Permitido = cuenta; } lista_permisos.Add(permiso); } } dgUsuarios.ItemsSource = lista_permisos; } }
void AsignarPermisos() { try { clsEntityPermisos permiso; if (lista_permisos.Count > 0) { //leer permisos asignados y modificar foreach (ReportePermiso item in lista_permisos) { if (item.Check == true) { permiso = new clsEntityPermisos().cs_pxObtenerUnoPorId(item.Id); if (permiso != null) { permiso.Cs_pr_Permitido = "1"; permiso.cs_pxActualizar(false); } else { clsEntityPermisos nuevo = new clsEntityPermisos(); nuevo.Cs_pr_Permisos_Id = item.Id; nuevo.Cs_pr_Modulo = item.Usuario; nuevo.Cs_pr_Cuenta = item.Permitido; nuevo.Cs_pr_Permitido = "1"; nuevo.cs_pxInsertar(false); } } else { permiso = new clsEntityPermisos().cs_pxObtenerUnoPorId(item.Id); if (permiso != null) { permiso.Cs_pr_Permitido = "0"; permiso.cs_pxActualizar(false); } else { clsEntityPermisos nuevo = new clsEntityPermisos(); nuevo.Cs_pr_Permisos_Id = item.Id; nuevo.Cs_pr_Modulo = item.Usuario; nuevo.Cs_pr_Cuenta = item.Permitido; nuevo.Cs_pr_Permitido = "0"; nuevo.cs_pxInsertar(false); } } } MessageBox.Show("Asignación exitosa.", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Asterisk); } else { MessageBox.Show("Debe seleccionar un usuario", "Mensaje", MessageBoxButton.OK, MessageBoxImage.Warning); } } catch (Exception ex) { clsBaseLog.cs_pxRegistarAdd("permisos->" + ex.ToString()); MessageBox.Show("Ha ocurrido un error al guardar los cambios. Para mayor informacion revise el archivo de errores.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }