Exemple #1
0
        public static JewelCartItem FakeJewelCartItem(int id, string size, JewelMediaType mediaType, decimal price)
        {
            var cartItem = new JewelCartItem(id, mediaType, price);

            cartItem.SetSize(size);
            return(cartItem);
        }
        public void Constructor_ShouldSetTheMediaTypeCorrectly()
        {
            //Arrange

            var price         = Tests.NUMBER_HAS_NO_MEANING_IN_THIS_CONTEXT;
            var jewelCartItem = new JewelCartItem(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, JewelMediaType.YellowGold, price);
            //Act
            var type = jewelCartItem.MediaType;

            //Assert
            type.Should().Be(JewelMediaType.YellowGold);
        }
        public void Constructor_ShouldSetTheIDField()
        {
            //Arrange

            var price         = Tests.NUMBER_HAS_NO_MEANING_IN_THIS_CONTEXT;
            var jewelCartItem = new JewelCartItem(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, JewelMediaType.WhiteGold, price);
            //Act
            var id = jewelCartItem.ID;

            //Assert
            id.Should().Be(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID);
        }
        public void Constructor_ShouldSetThePriceField()
        {
            //Arrange

            var price         = Tests.NUMBER_THAT_IS_ASSERTED_WITH_BUT_HAS_NO_MEANING;
            var jewelCartItem = new JewelCartItem(Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, JewelMediaType.WhiteGold, price);
            //Act
            var resultprice = jewelCartItem.Price;

            //Assert
            resultprice.Should().Be(price);
        }
Exemple #5
0
        protected override List <ICartItem> ResolveCore(acc_ORDERS source)
        {
            try
            {
                var cartItems = new List <ICartItem>();

                var jewelItems = source.acc_JEWELRY_ORDER_ITEMS.ToList();
                foreach (var jewelItem in jewelItems)
                {
                    var dbJewel       = jewelRepository.GetJewelByID(jewelItem.Item_id);
                    var jewelCartItem = new JewelCartItem(jewelItem.Item_id, (JewelMediaType)jewelItem.metal, (decimal)dbJewel.Price);

                    jewelCartItem.SetSize(jewelItem.jewelsize);

                    cartItems.Add(jewelCartItem);
                }

                var diamondItems = source.acc_DIAMOND_ORDER_ITEMS.ToList();
                foreach (var diamondItem in diamondItems)
                {
                    var dbDiamond       = diamondRepository.GetDiamondByID(diamondItem.Item_id);
                    var diamondCartItem = new DiamondCartItem(diamondItem.Item_id, dbDiamond.Price);
                    cartItems.Add(diamondCartItem);
                }

                var customJewelItems = source.acc_CUSTOMJEWEL_ORDER_ITEMS.ToList();

                foreach (var customJewelItem in customJewelItems)
                {
                    var dbsetting = jewelRepository.GetJewelByID(customJewelItem.Setting_id);
                    var dbdiamond = diamondRepository.GetDiamondByID(customJewelItem.Diamond_id);

                    var customJewelCartItem = new CustomJewelCartItem(customJewelItem.Diamond_id,
                                                                      customJewelItem.Setting_id, customJewelItem.size, JewelMediaType.WhiteGold,
                                                                      dbdiamond.Price + (decimal)dbsetting.Price);


                    cartItems.Add(customJewelCartItem);
                }

                return(cartItems);
            }
            catch (Exception ex)
            {
                throw new Exception("When asked to convert from a db order object to a Order POCO:\r\n ordernumber=" + source.OrderNumber + "\r\n" + " an error occured:" + ex.Message);
            }
        }