private void btnGuardar_Click(object sender, EventArgs e) { try { this.pnlFamilia.Enabled = false; Usuario usuarioSelect = UsuarioBLL.GetAdapted(Convert.ToInt32(this.cbPermisosUsuario.SelectedValue)); //Familias DataTable dtFamiliaContiene = (DataTable)this.listFamiliaContiene.DataSource; List <Permiso> NuevosPermisos = new List <Permiso>(); foreach (DataRow drfnp in dtFamiliaContiene.Rows) { Familia familia = new Familia(); familia.IdFamiliaElement = drfnp[0].ToString(); familia.Nombre = drfnp[1].ToString(); NuevosPermisos.Add(familia); } //Patentes //Si No Tiene Patente if ((this.listPatenteContiene.SelectedValue == null)) { usuarioSelect.Permisos = NuevosPermisos; UsuarioBLL.ActualizarPermisos(usuarioSelect); } else { //Si tiene Patente DataTable dtPoseePAT = (DataTable)this.listPatenteContiene.DataSource; foreach (DataRow drfnpPAT in dtPoseePAT.Rows) { Patente Patente = new Patente(); Patente.IdFamiliaElement = drfnpPAT[0].ToString(); Patente.Nombre = drfnpPAT[1].ToString(); NuevosPermisos.Add(Patente); } usuarioSelect.Permisos = NuevosPermisos; UsuarioBLL.ActualizarPermisos(usuarioSelect); } //comentado BitacoraBLL.GetInstance().RegistrarEnBitacora("Se realizaron cambios de Permiso de Usuario", User._userSession.NombreUsuario, string.Empty, TraceEventType.Information); MessageBox.Show("Cambios realizados exitosamente", "Residica", MessageBoxButtons.OKCancel, MessageBoxIcon.None); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Residica", MessageBoxButtons.OK, MessageBoxIcon.Error); } }