public static void ClickDeleteCard(CardsViewModel card) { if (card != null) { FlashcardDataSource.DeleteCard(card); } }
public static void ClickEditCard(CardsViewModel card, String frontContent, String backContent) { if (card != null) { card.FrontContent = frontContent; card.BackContent = backContent; FlashcardDataSource.UpdateCard(card); } }
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); } }