public bool ResetAllCards() { _monsterCardEntityCrud.DropCollection(); if (_monsterCardEntityCrud.CountAll == 0) { _monsterCardEntityCrud.InsertMany(MonsterCardEntity.GetAllRegisteredCards().ToArray()); } return(true); }
public GuiController(Crud <MonsterCardEntity> monsterCardEntityCrud, IMapper mapper, Crud <CardImageEntity> cardImageEntityCrud) { _monsterCardEntityCrud = monsterCardEntityCrud; _mapper = mapper; _cardImageEntityCrud = cardImageEntityCrud; if (monsterCardEntityCrud.CountAll == 0) { monsterCardEntityCrud.InsertMany(MonsterCardEntity.GetAllRegisteredCards().ToArray()); } }
private static void ExecuteAdd(ProgramParameters parameters, CloudTable cardsTable, CloudTable indexTable) { MonsterCardEntity monsterCard = new MonsterCardEntity(); IndexByMonsterEntity indexCard = new IndexByMonsterEntity(); TableUtils <MonsterCardEntity> cardUtils = new TableUtils <MonsterCardEntity>(cardsTable); TableUtils <IndexByMonsterEntity> indexUtils = new TableUtils <IndexByMonsterEntity>(indexTable); monsterCard.PartitionKey = parameters.CardType.ToString(); indexCard.CardType = parameters.CardType.ToString(); monsterCard.RowKey = ReadNotEmptyLine("Card name: "); MonsterCardEntity existingCard = cardUtils.RetrieveEntityUsingPointQueryAsync(monsterCard.PartitionKey, monsterCard.RowKey).GetAwaiter().GetResult(); if (existingCard != null) { Console.WriteLine($"Entry '{monsterCard.PartitionKey} {monsterCard.RowKey}' already exists in database. If you continue, existing entry will be REPLACED."); string option = ReadOption("Continue (yes/no)? ", "Y", "y", "yes", "Yes", "N", "n", "No", "no"); switch (option) { case "N": case "n": case "no": case "No": { Console.WriteLine("Aborted by user."); return; } } } indexCard.RowKey = monsterCard.RowKey; monsterCard.Expansion = ReadNotEmptyLine("Expansion: "); monsterCard.Versions = ReadNotEmptyLine("Versions: "); if (parameters.CardType != CardType.StrangeResource && parameters.CardType != CardType.BasicResource && parameters.CardType != CardType.Universal && parameters.CardType != CardType.BasicHuntEvent && parameters.CardType != CardType.SpecialHuntEvent) { indexCard.PartitionKey = ReadNotEmptyLine("Monster: "); } switch (parameters.CardType) { case CardType.AI: case CardType.Universal: { monsterCard.AILevel = ReadNotEmptyLine("AI Level: "); Console.Write("AI card types (if any): "); monsterCard.AITypes = Console.ReadLine(); monsterCard.CardText = ReadNotEmptyLine("Card Text: "); } break; case CardType.MonsterResource: case CardType.BasicResource: case CardType.StrangeResource: { monsterCard.ResourceKeywords = ReadNotEmptyLine("Keywords: "); monsterCard.CardText = ReadNotEmptyLine("Card Text: "); } break; case CardType.HitLocation: { Console.Write("HL types (if any): "); monsterCard.HLTypes = Console.ReadLine(); Console.Write("Card text (if any): "); monsterCard.CardText = Console.ReadLine(); Console.Write("Reaction - Failure (if any): "); monsterCard.HLReactionFailure = Console.ReadLine(); Console.Write("Reaction - Wound (if any): "); monsterCard.HLReactionWound = Console.ReadLine(); Console.Write("Reaction - Reflex (if any): "); monsterCard.HLReactionReflex = Console.ReadLine(); Console.Write("Critical Wound text (if any): "); monsterCard.HLCriticalText = Console.ReadLine(); } break; case CardType.HuntEvent: case CardType.SpecialHuntEvent: case CardType.BasicHuntEvent: { monsterCard.EventSubtitle = ReadNotEmptyLine("Event subtitle: "); monsterCard.CardText = ReadNotEmptyLine("Card text: "); Console.Write("Event bottom text (if any): "); monsterCard.EventBottomText = Console.ReadLine(); } break; default: { Trace.TraceError($"Unable to parse CardType '{parameters.CardType}'"); return; } } monsterCard.Multiplicity = ReadInt("# of cards (default 1): ", 1); Trace.TraceInformation($"Adding to database: [{monsterCard}]"); Console.WriteLine($"*************\n{monsterCard}\n*************"); cardUtils.InsertOrMergeEntityAsync(monsterCard, true).GetAwaiter().GetResult(); if (parameters.CardType != CardType.BasicResource && parameters.CardType != CardType.StrangeResource && parameters.CardType != CardType.Universal && parameters.CardType != CardType.BasicHuntEvent && parameters.CardType != CardType.SpecialHuntEvent) { indexUtils.InsertOrMergeEntityAsync(indexCard, true).GetAwaiter().GetResult(); } Console.WriteLine("Data added."); }