public SearchViewModel Search(string query) { SearchViewModel results = new SearchViewModel(); results.Card = new Card(); string[] tags = query.Split(' ', ',', '+'); foreach (string tag in tags) { results.SearchTerms.Add(new Tag() { Name = tag.ToLower() }); } HashSet <int> uniqueCardIds = new HashSet <int>(); foreach (Tag tag in results.SearchTerms) { uniqueCardIds = cardSqlDAL.SearchForCard(tag); } foreach (int id in uniqueCardIds) { results.SearchResults.Add(cardSqlDAL.GetCardById(id)); } results.UserDecksSelectList = decksSqlDAL.GetUserDecksSelectList(authProvider.GetCurrentUser().Id); return(results); }
public IActionResult AddCardFromSearch(SearchViewModel svm) { Card cardToAdd = cardSqlDAL.GetCardById(svm.Card.Id); cardToAdd.DeckId = svm.Card.DeckId; cardToAdd.CardOrder = decksSqlDAL.GetNextCardOrder(cardToAdd.DeckId); cardToAdd = cardSqlDAL.AddCardToDeck(cardToAdd); return(RedirectToAction("ViewDeck", new { deckId = cardToAdd.DeckId })); }
public void GetCardByIdShouldReturnCorrectCard() { Card card = new Card() { Front = "testFront", Back = "testBack", CardOrder = 1, DeckId = testDeckId, ImageURL = "", }; // Get new ID card = dal.AddCardToDeck(card); Card result = dal.GetCardById(card.Id); Assert.AreEqual(card.Front, result.Front); Assert.AreEqual(card.Back, result.Back); Assert.AreEqual(card.Id, result.Id); Assert.AreEqual(card.DeckId, result.DeckId); }