示例#1
0
        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);
                    }
                }
            }
        }