Example #1
0
        public async Task RefreshData()
        {
            if (!IsBusy)
            {
                LitteraApi  api = new LitteraApi();
                List <Book> libraryDB;
                ObservableCollection <Book> libraryApi;
                _books.Clear();
                IsBusy     = true;
                libraryApi = await api.GetLibrary();

                if (libraryApi != null)
                {
                    foreach (Book book in libraryApi)
                    {
                        if (await App.BookDB.GetBookAsync(book.Id_api) == null)
                        {
                            await App.BookDB.SaveBookAsync(book);
                        }
                    }
                }

                libraryDB = await App.BookDB.GetBookAsync();

                foreach (Book book in libraryDB)
                {
                    _books.Add(book);
                }

                IsBusy = false;
            }
        }
Example #2
0
        private async void BtnEnterClick()
        {
            if (String.IsNullOrEmpty(username) /* && String.IsNullOrEmpty(email)*/)
            {
                DependencyService.Get <IMessage>().ShowShortMessage("Informe o usuário ou e-mail.");
            }
            else if (String.IsNullOrEmpty(password))
            {
                DependencyService.Get <IMessage>().ShowShortMessage("Informe a senha.");
            }
            else
            {
                IsBusy = true;

                Credentials credentials = new Credentials()
                {
                    Username = username.IndexOf("@") >= 0 ? "" : username,
                    Email    = username.IndexOf("@") >= 0 ? username : "",
                    Password = password
                };

                LitteraApi api   = new LitteraApi();
                String     token = await api.Authenticate(credentials);

                if (!String.IsNullOrEmpty(token))
                {
                    if (token != "*erro*")
                    {
                        App.User = new User()
                        {
                            Username = username,
                            Token    = token
                        };

                        // Busca os dados do usuário
                        User user = await api.GetUser();

                        user.Token = token;

                        await App.UserDB.SaveUserAsync(user);

                        // Define the user to te application
                        App.User = user;

                        TabbedPage page = new TabbedPage()
                        {
                            BarTextColor = Color.Black
                        };
                        page.Children.Add(new LibraryPage());
                        page.Children.Add(new UserPage());

                        App.Current.MainPage = page;
                    }
                    else
                    {
                        DependencyService.Get <IMessage>().ShowShortMessage("Não foi possível conectar ao Littera");
                    }
                }
                else
                {
                    DependencyService.Get <IMessage>().ShowShortMessage("Usuário e senha não encontrados.");
                }

                IsBusy = false;
            }
        }