private void guardarUsuario() { if (Validaciones.validarCampoAlfaNumerico(this.txtUsername) & Validaciones.validarCampoVacio(this.txtPassword) & Validaciones.validarCampoString(this.txtPregunta) & Validaciones.validarCampoString(this.txtRespuesta)) { try { validarUsernameUnico(); Usuario usr = new Usuario(); usr.Username = this.txtUsername.Text; usr.Password = this.txtPassword.Text; usr.PreguntaSecreta = this.txtPregunta.Text; usr.RespuestaSecreta = this.txtRespuesta.Text; usr.Roles = new List<Rol>(); foreach (var item in this.chkRoles.CheckedItems.Cast<Rol>().ToList()) { usr.Roles.Add((Rol)item); } usr.Activo = true; usr.Habilitado = true; realizarTransaccion(usr, cliente); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
/************* Metodos privados *************/ private void realizarTransaccion(Usuario usr, Cliente cliente) { using (var transaction = new TransactionScope()) { try { if (usrService.insert(usr) > 0) MessageBox.Show("Se ha creado correctamente el usuario", "Creacion usuario", MessageBoxButtons.OK, MessageBoxIcon.Information); else throw new Exception("Error al crear usuario"); cliente.username = usr.Username; usrService.insertRolesUsuario(usr); if (cliService.createCliente(cliente) > 0) { this.Hide(); MessageBox.Show("Se ha creado correctamente el cliente", "Creacion cliente"); this.form.Hide(); } else throw new Exception("Error al crear usuario"); transaction.Complete(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { transaction.Dispose(); } } }
public int insertRolesUsuario(Usuario usuario) { UsuarioRepository usrRep = new UsuarioRepository(); return usrRep.InsertRolesUsuario(usuario); }