private async void InicioSesionCommand() { EventHandler <GoogleClientResultEventArgs <GoogleUser> > userLoginDelegate = null; userLoginDelegate = async(object sender, GoogleClientResultEventArgs <GoogleUser> e) => { if (e != null) { GoogleUser user = e.Data; Usuario = new UsuarioModel() { idUsuario = 0, Apodo = user.Email.Remove(user.Email.LastIndexOf('@')), NombreP = user.GivenName, ApellidoP = user.FamilyName, FotoPerfilP = "", EstadoP = "Activo" }; await SeleccionarUsuario(); if (Usuario.idUsuario == 0) { await CrearUsuario(); await SeleccionarUsuario(); } if (Usuario.idUsuario != 0) { StorageUser(Usuario); await loadDataHandler.PersistenceDataAsync("Usuario", Usuario); Application.Current.MainPage = new MainPage(); } else { ((MessageViewModel)PopUp.BindingContext).Message = "Error al conectar con el servidor"; await PopupNavigation.Instance.PushAsync(PopUp); } } }; googleClientManager.OnLogin += userLoginDelegate; try { await googleClientManager.LoginAsync(); } catch (Exception e) { await Application.Current.MainPage.DisplayAlert("Error", e.ToString(), "OK"); } }
public async Task ActualizarUsuario() { try { UsuarioModel usuario = new UsuarioModel() { idUsuario = Usuario.idUsuario, Apodo = ApodoUsuario.Value, NombreP = NombreUsuario.Value, ApellidoP = ApellidosUsuario.Value, FotoPerfilP = "", EstadoP = EstadoUsuario.Value }; APIResponse response = await UpdateUsuario.RunStrategy(usuario); if (response.IsSuccess) { await loadDataHandler.PersistenceDataAsync("Usuario", usuario); Usuario.FotoPerfilP = usuario.FotoPerfilP; Usuario.NombreP = usuario.NombreP; Usuario.ApellidoP = usuario.ApellidoP; Usuario.EstadoP = usuario.EstadoP; ((MessageViewModel)PopUp.BindingContext).Message = "Usuario actualizado exitosamente"; await PopupNavigation.Instance.PushAsync(PopUp); await Task.Delay(TimeSpan.FromSeconds(2)); await PopupNavigation.Instance.PopAsync(); await PopupNavigation.Instance.PopAsync(); } else { ((MessageViewModel)PopUp.BindingContext).Message = "Error al actualizar usuario"; await PopupNavigation.Instance.PushAsync(PopUp); await Task.Delay(TimeSpan.FromSeconds(2)); await PopupNavigation.Instance.PopAsync(); } } catch (Exception e) { } }