public override void Grabar() { perfilUsuarioBindingSource.RaiseListChangedEvents = false; perfilUsuarioBindingSource.EndEdit(); try { Cursor.Current = Cursors.WaitCursor; aplicacionTextEdit.Focus(); m_PerfilUsuario = m_PerfilUsuario.Save(); XtraMessageBox.Show( "Registro grabado correctamente!", Text, MessageBoxButtons.OK, MessageBoxIcon.Information); base.Grabar(); } catch (ValidationException) { XtraMessageBox.Show(m_PerfilUsuario.BrokenRulesCollection.ToString(), "Grabar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } catch (DataPortalException ex) { XtraMessageBox.Show(ex.BusinessException.Message, "Grabar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } catch (Exception ex) { XtraMessageBox.Show(ex.Message, "Grabar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { Cursor.Current = Cursors.Default; } perfilUsuarioBindingSource.RaiseListChangedEvents = true; }
public override void Grabar() { string mensajeError = string.Empty; try { Cursor.Current = Cursors.WaitCursor; // Confirmamos la respuesta del usuario. if (XtraMessageBox.Show(Properties.Resources.msgConfirmeCreacionMasiva, Text, MessageBoxButtons.YesNo, MessageBoxIcon.Information) == System.Windows.Forms.DialogResult.No) { return; } var listaUsuarios = ((BindingSource)usuarioInfoListGridControl.DataSource) .DataSource as UsuarioInfoList; if (listaUsuarios == null) { return; } foreach (var usuarioSeleccionado in listaUsuarios.Where(u => u.Seleccionar == true)) { PerfilUsuario perfilUsuario = PerfilUsuario.NewPerfilUsuario(); // Buscamos que el usuario tenga un Perfil ya creado. var idPerfilUsuario = PerfilUsuarioCommand .Execute(usuarioSeleccionado.ID, aplicacionInfo.ID); if (!string.IsNullOrEmpty(idPerfilUsuario)) { perfilUsuario = PerfilUsuario.GetPerfilUsuario(idPerfilUsuario); } else { perfilUsuario.IdUsuario = usuarioSeleccionado.ID; perfilUsuario.IdAplicacion = aplicacionInfo.ID; perfilUsuario.Usuario = usuarioSeleccionado.Nombres; perfilUsuario.Aplicacion = aplicacionInfo.Nombre; } // Obtenemos la lista de los Roles seleccionados. foreach (Rol rol in rolesCheckedListBoxControl.SelectedItems) { var rolPerfil = RolPerfil.NewRolPerfil(); rolPerfil.IdAplicacion = aplicacionInfo.ID; rolPerfil.IdRol = rol.Id; rolPerfil.NombreRol = rol.Nombre; // Agregamos los Permisos basados en el Rol. rolPerfil.AgregarPermisos(usuarioSeleccionado.ID); perfilUsuario.RolesPerfiles.Add(rolPerfil); } // Si hubieran errores se coloca en una variable. mensajeError = perfilUsuario.BrokenRulesCollection.ToString(); // Una vez que se hayan agregado todos los Roles y Permisos // se procede a guardar la información en la BD. perfilUsuario.Save(); } XtraMessageBox.Show( "Se crearon los perfiles exitosamente!", Text, MessageBoxButtons.OK, MessageBoxIcon.Information); base.Grabar(); } catch (ValidationException) { XtraMessageBox.Show(mensajeError, Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } catch (DataPortalException ex) { XtraMessageBox.Show(ex.BusinessException.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } catch (Exception ex) { XtraMessageBox.Show(ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { Cursor.Current = Cursors.Default; } }