Exemplo n.º 1
0
 public static void ClickDeleteCard(CardsViewModel card)
 {
     if (card != null)
     {
         FlashcardDataSource.DeleteCard(card);
     }
 }
Exemplo n.º 2
0
 public static void ClickEditCard(CardsViewModel card, String frontContent, String backContent)
 {
     if (card != null)
     {
         card.FrontContent = frontContent;
         card.BackContent = backContent;
         FlashcardDataSource.UpdateCard(card);
     }
 }
Exemplo n.º 3
0
 public static void ClickAddCard(DeckViewModel deck, String frontContent, String backContent)
 {
     var _card = GetCard(deck, frontContent);
     if (_card == null)
     {
         _card = new CardsViewModel("", frontContent, backContent, deck);
         FlashcardDataSource.AddCard(_card);
     }
 }
 public static void AddCard(CardsViewModel card)
 {
     using (var database = new SQLiteConnection(databasePath))
     {
         var _card = new Card();
         _card.Id = Guid.NewGuid();
         _card.FrontContent = card.FrontContent;
         _card.BackContent = card.BackContent;
         _card.DeckId = new Guid(card.Deck.UniqueId);
         database.Insert(_card);
         card.UniqueId = _card.Id.ToString();
     }
 }
 public FlashcardDataSource()
 {
     databasePath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "MyDatabase.db");
     using (var database = new SQLiteConnection(databasePath))
     {
         database.CreateTable<Category>();
         database.CreateTable<Deck>();
         database.CreateTable<Card>();
     }
     var category1 = new CategoryViewModel("", "english");
     AddCategory(category1);
     AllCategories.Add(category1);
     var deck1 = new DeckViewModel("", category1, "1001 words need to know", "Thang", "toefl", "", "");
     AddDeck(deck1);
     AllDecks.Add(deck1);
     var card1 = new CardsViewModel("", "abc", "abc", deck1);
     AddCard(card1);
     AllCards.Add(card1);
 }
 public static void UpdateCard(CardsViewModel card)
 {
     using (var database = new SQLiteConnection(databasePath))
     {
         var _card = database.Find<Card>(c1 => c1.Id.ToString() == card.UniqueId);
         if (_card != null)
         {
             _card.FrontContent = card.FrontContent;
             _card.BackContent = card.BackContent;
             database.Update(_card);
         }
     }
 }
 // function for card
 // get
 // add
 // edit
 // delete
 public static ObservableCollection<CardsViewModel> GetCards(DeckViewModel deck)
 {
     // Simple linear search is acceptable for small data sets
     _flashcardDataSource._allCards.Clear();
     using (var database = new SQLiteConnection(databasePath))
     {
         var _cards = database.Table<Card>().Where(c1 => c1.DeckId.ToString() == deck.UniqueId).OrderBy(c2 => c2.FrontContent);
         foreach (var _card in _cards)
         {
             CardsViewModel cardViewModel = new CardsViewModel(_card.Id.ToString(), _card.FrontContent, _card.BackContent, deck);
             _flashcardDataSource._allCards.Add(cardViewModel);
         }
     }
     return _flashcardDataSource._allCards;
 }
 public static void DeleteCard(CardsViewModel card)
 {
     using (var database = new SQLiteConnection(databasePath))
     {
         var _card = database.Find<Card>(c1 => c1.Id.ToString() == card.UniqueId);
         database.Delete(_card);
     }
 }