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; } }
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; } }