Exemplo n.º 1
0
        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");
            }
        }
Exemplo n.º 2
0
        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)
            {
            }
        }