/// <summary> /// Registra un nuevo usuario /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void OnClickRegistrarButton(object sender, RoutedEventArgs e) { if (ValidarTextBoxNombre() && ValidarTextBoxCorreo() && ValidarTextBoxNombreUsuario() && ValidarTextBoxContraseña()) { cancelarButton.IsEnabled = false; registrarUsuarioButton.IsEnabled = false; var usuario = CrearUsuario(); var usuarioRegistrado = false; try { await UsuarioClient.RegisterUsuario(usuario); usuarioRegistrado = true; var usuarioLogin = new Login { Password = usuario.contrasena, User = usuario.nombre_usuario }; await ApiServiceLogin.GetServiceLogin().Login(usuarioLogin); var usuarioLogeado = await UsuarioClient.GetUser(); usuarioLogeado.login = usuarioLogin; ManejadorDeUsuariosLogeados.GetManejadorDeUsuariosLogeados().InicioSesionUsuario(usuarioLogeado); if (_rutaImagen != "") { var clientePortadas = new CoversClient(); clientePortadas.UploadUserCover(_rutaImagen); } } catch (HttpRequestException) { new MensajeEmergente().MostrarMensajeError("No se puede conectar al servidor"); } catch (RpcException) { new MensajeEmergente().MostrarMensajeError( "No se pudo guardar la imagen de portada, puede subirla " + "mas adelante"); } catch (Exception exception) { new MensajeEmergente().MostrarMensajeAdvertencia(exception.Message); } if (usuarioRegistrado) { if (usuario.tipo_usuario == TipoUsuario.CreadorDeContenido) { NavigationService?.Navigate(new RegistrarCreadorContenido()); } else { NavigationService?.Navigate(new Canciones()); } } cancelarButton.IsEnabled = true; registrarUsuarioButton.IsEnabled = true; } }