public void Run(MemCheckUser user, string cultureName) { if (!supportedUILanguages.Contains(cultureName)) { throw new InvalidProgramException($"Invalid culture '{cultureName}'"); } user.UILanguage = cultureName; dbContext.SaveChanges(); }
public void Run(Guid deckId, IEnumerable <Guid> cardIds) { //By design, this ignores cards not in the deck foreach (var cardId in cardIds) { if (dbContext.CardsInDecks.Where(cardInDeck => cardInDeck.DeckId == deckId && cardInDeck.CardId == cardId).Any()) { dbContext.CardsInDecks.Remove(new CardInDeck() { CardId = cardId, DeckId = deckId }); } } dbContext.SaveChanges(); }
public void Run(Guid deckId, IEnumerable <Guid> cardIds) { var cardsInDeck = dbContext.CardsInDecks.Where(cardInDeck => cardInDeck.DeckId == deckId).Select(cardInDeck => cardInDeck.CardId); var toAdd = cardIds.Where(cardId => !cardsInDeck.Contains(cardId)).Select(cardId => new CardInDeck() { CardId = cardId, DeckId = deckId, CurrentHeap = 0, LastLearnUtcTime = DateTime.MinValue.ToUniversalTime(), AddToDeckUtcTime = DateTime.UtcNow, NbTimesInNotLearnedHeap = 1, BiggestHeapReached = 0 }); dbContext.CardsInDecks.AddRange(toAdd); dbContext.SaveChanges(); }