Esempio n. 1
0
 public bool ResetAllCards()
 {
     _monsterCardEntityCrud.DropCollection();
     if (_monsterCardEntityCrud.CountAll == 0)
     {
         _monsterCardEntityCrud.InsertMany(MonsterCardEntity.GetAllRegisteredCards().ToArray());
     }
     return(true);
 }
Esempio n. 2
0
        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());
            }
        }
Esempio n. 3
0
        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.");
        }