public static IStructureCard CreateStructureCard(CardMapping cardMapping)
        {
            switch (cardMapping.Type)
            {
            case StructureType.RawMaterial:
                return(new RawMaterialCard(cardMapping.Name, cardMapping.MinimumPlayers, cardMapping.Age, cardMapping.ResourceCosts, cardMapping.CardCosts, cardMapping.Effects.ToList <IEffect>()));

            case StructureType.ManufacturedGood:
                return(new ManufacturedGoodCard(cardMapping.Name, cardMapping.MinimumPlayers, cardMapping.Age, cardMapping.ResourceCosts, cardMapping.CardCosts, cardMapping.Effects.ToList <IEffect>()));

            case StructureType.Civilian:
                return(new CivilianCard(cardMapping.Name, cardMapping.MinimumPlayers, cardMapping.Age, cardMapping.ResourceCosts, cardMapping.CardCosts, cardMapping.Effects.ToList <IEffect>()));

            case StructureType.Scientific:
                return(new ScientificCard(cardMapping.Name, cardMapping.MinimumPlayers, cardMapping.Age, cardMapping.ResourceCosts, cardMapping.CardCosts, cardMapping.Effects.ToList <IEffect>()));

            case StructureType.Commercial:
                return(new CommercialCard(cardMapping.Name, cardMapping.MinimumPlayers, cardMapping.Age, cardMapping.ResourceCosts, cardMapping.CardCosts, cardMapping.Effects.ToList <IEffect>()));

            case StructureType.Military:
                return(new MilitaryCard(cardMapping.Name, cardMapping.MinimumPlayers, cardMapping.Age, cardMapping.ResourceCosts, cardMapping.CardCosts, cardMapping.Effects.ToList <IEffect>()));

            case StructureType.Guilds:
                return(new GuildCard(cardMapping.Name, cardMapping.MinimumPlayers, cardMapping.Age, cardMapping.ResourceCosts, cardMapping.CardCosts, cardMapping.Effects.ToList <IEffect>()));

            default:
                return(new NullStructureCard());
            }
        }
Пример #2
0
        public void CreateDtoAddress()
        {
            var dtoCard = CardMapping.CreateDtoCard(card);

            Assert.IsType <Card>(dtoCard);
            Assert.NotNull(dtoCard.CCV);
            Assert.NotNull(dtoCard.CardNumber);
            Assert.NotNull(dtoCard.CardHolderName);
        }
Пример #3
0
        public void CreateUserCardDTO()
        {
            var userCard = CardMapping.CreateUserCardDTO(dtoUser.UserId, dtoCard.CardId);

            Assert.IsType <UserCard>(userCard);
            Assert.NotNull(userCard);
            Assert.Equal(dtoCard.CardId, userCard.CardId);
            Assert.Equal(dtoUser.UserId, userCard.UserId);
        }
Пример #4
0
        public void ConvertDtoAddressToAddress()
        {
            var card = CardMapping.ConvertDtoCardToCard(dtoCard);

            Assert.IsType <Models.API.Card>(card);
            Assert.Equal(dtoCard.UserId, card.UserId);
            Assert.NotNull(card.CardHolderName);
            Assert.NotNull(card.CCV);
            Assert.NotNull(card.CardNumber);
        }
Пример #5
0
        public void CreateUserCardDTOFromCard()
        {
            card.CardId = Guid.NewGuid();
            card.UserId = Guid.NewGuid();
            var userCard = CardMapping.CreateUserCardDTO(card);

            Assert.IsType <UserCard>(userCard);
            Assert.NotNull(userCard);
            Assert.Equal(card.UserId, userCard.UserId);
            Assert.Equal(card.CardId, userCard.CardId);
        }
Пример #6
0
        private async Task <IEnumerable <Card> > MapAddressesToCardsAsync(IEnumerable <Models.Repository.Card> cards)
        {
            if (cards == null)
            {
                throw new ArgumentNullException(nameof(cards));
            }

            var cardList = new List <Card>();

            foreach (var dtoCard in cards)
            {
                var address = await addressRepository.GetAsync(dtoCard.AddressId);

                var card = CardMapping.ConvertDtoCardToCard(dtoCard);
                card.BillingAddress = AddressMapping.ConvertDtoAddressToAddress(address);
                cardList.Add(card);
            }

            return(cardList);
        }