private void crearButton_Click(object sender, EventArgs e) { if (EsUnFormularioValido()) { var nombreUsuario = nombreDeUsuarioText.Text; var nombre = nombreText.Text; var apellido = apellidoText.Text; var email = emailText.Text; var contrasena = StringRandom(8); Usuario usuario = new Usuario() { nombreUsuario = nombreUsuario, nombre = nombre, apellido = apellido, email = email, contrasena = contrasena, habilitado = true }; try { gestorDeUsuarios.CrearUsuario(usuario); using (var fbd = new FolderBrowserDialog()) { fbd.Description = "Selecciona donde depositar tu contraseña"; DialogResult result = fbd.ShowDialog(); if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(fbd.SelectedPath)) { var filePath = fbd.SelectedPath + "\\" + nombreDeUsuarioText.Text + "_contraseña.txt"; if (!File.Exists(filePath)) { File.Create(filePath).Dispose(); using (TextWriter tw = new StreamWriter(filePath)) { tw.WriteLine(contrasena); } } else if (File.Exists(filePath)) { using (TextWriter tw = new StreamWriter(filePath)) { tw.WriteLine(contrasena); } } } } MessageBox.Show(Genesis.Recursos_localizables.StringResources.AdministracionDeUsuariosMessageSatisfactorio); LimpiarFormulario(); ListarUsuarios(); } catch (EntidadDuplicadaExcepcion excepcion) { if (excepcion.atributo == "nombreUsuario") { nombreDeUsuarioText.Text = nombreDeUsuarioText.Text + StringRandom(2); MessageBox.Show(Genesis.Recursos_localizables.StringResources.AdminsitracionDeFamiliasMessageNombreDubplicado + " " + nombreDeUsuarioText.Text); crearButton_Click(sender, e); } else if (excepcion.atributo == "email") { MessageBox.Show(Genesis.Recursos_localizables.StringResources.AdminsitracionDeUsuariosMessageEmailDuplicado); } } } }