public OrderLine(OrderLineDTO orderLineDTO, Order order)
 {
     Amount     = orderLineDTO.Amount;
     Consumable = new Consumable(orderLineDTO.ConsumableDTO);
     OrderId    = order.OrderId;
     Order      = order;
 }
Exemplo n.º 2
0
        //Unsure if this makes more sense than disretely handling dto -> Model mapping, and having a secondary constructor
        public static OrderLine Convert(OrderLineDTO obj)
        {
            var food = Convert(obj.Food);

            return(new OrderLine()
            {
                Quantity = obj.Quantity,
                FoodId = food.Id,
            });
        }
Exemplo n.º 3
0
 internal static LineModel FromDTO(OrderLineDTO dto)
 {
     return(new LineModel
     {
         ProductId = dto.ProductId,
         ProductName = dto.ProductName,
         Price = dto.Price,
         Quantity = dto.Quantity,
         Reserved = dto.Reserved
     });
 }
        private OrderLineDTO MapOrderLine(OrderLine orderLine)
        {
            var orderLineViewModel = new OrderLineDTO
            {
                ProductName = orderLine.ProductName,
                Quantity    = orderLine.Quantity,
                UnitPrice   = new Money(orderLine.Price, orderLine.PurchaseOrder.BillingCurrency).ToString(),
                Total       = new Money(orderLine.Total.GetValueOrDefault(), orderLine.PurchaseOrder.BillingCurrency).ToString(),
                OrderlineId = orderLine.OrderLineId,
                HasDiscount = orderLine.Discounts.Any(),
            };

            return(orderLineViewModel);
        }
Exemplo n.º 5
0
        private BasketDTO GetBasketModel()
        {
            var model           = new BasketDTO();
            var basket          = TransactionLibrary.GetBasket(false);
            var currencyIsoCode = CatalogContext.CurrentPriceGroup.CurrencyISOCode;
            var imageService    = ObjectFactory.Instance.Resolve <IImageService>();
            var urlService      = ObjectFactory.Instance.Resolve <IUrlService>();

            foreach (var orderLine in basket.OrderLines)
            {
                var product           = CatalogLibrary.GetProduct(orderLine.Sku);
                var url               = UrlService.GetUrl(CatalogContext.CurrentCatalog, product);
                var thumbnailImageUrl = product.ThumbnailImageUrl;
                var lineTotal         = new Money(orderLine.Total.Value, currencyIsoCode);

                var orderLineModel = new OrderLineDTO
                {
                    ProductName            = orderLine.ProductName,
                    Quantity               = orderLine.Quantity,
                    UnitPrice              = new Money(orderLine.Price, currencyIsoCode).ToString(),
                    Total                  = new Money(orderLine.Total.GetValueOrDefault(), currencyIsoCode).ToString(),
                    OrderlineId            = orderLine.OrderLineId,
                    HasDiscount            = orderLine.Discounts.Any(),
                    ProductUrl             = url,
                    ThumbnailImageMediaUrl = thumbnailImageUrl,
                };
                model.OrderLines.Add(orderLineModel);
            }

            foreach (var discount in basket.Discounts)
            {
                model.Discounts.Add(new DiscountDTO
                {
                    Name  = discount.CampaignItemName,
                    Value = new Money(discount.AmountOffTotal, currencyIsoCode).ToString(),
                });
            }

            model.OrderTotal            = new Money(basket.OrderTotal.GetValueOrDefault(), currencyIsoCode).ToString();
            model.TaxTotal              = new Money(basket.TaxTotal.GetValueOrDefault(), currencyIsoCode).ToString();
            model.DiscountTotal         = new Money(basket.DiscountTotal.GetValueOrDefault(), currencyIsoCode).ToString();
            model.HasDiscount           = basket.Discount.GetValueOrDefault() > 0;
            model.NumberOfItemsInBasket = basket.OrderLines.Sum(x => x.Quantity);
            model.ShippingTotal         =
                new Money(basket.ShippingTotal.GetValueOrDefault(), currencyIsoCode).ToString();
            model.PaymentTotal = new Money(basket.PaymentTotal.GetValueOrDefault(), currencyIsoCode).ToString();

            return(model);
        }
Exemplo n.º 6
0
        private void AddExecute()
        {
            var newOrder = new OrderLineDTO();

            newOrder.ProductId    = SelectedProduct.Id;
            newOrder.ProductTitle = SelectedProduct.Title;
            newOrder.UnitPrice    = SelectedProduct.UnitPrice;
            newOrder.Amount       = Amount;
            newOrder.Discount     = Discount;

            if (OrderLines == null)
            {
                OrderLines = new ObservableCollection <OrderLineDTO>();
            }
            OrderLines.Add(newOrder);

            SelectedOrderLine = new OrderLineDTO()
            {
                Amount = 1
            };
            SelectedProduct = null;
        }
 public DisplayOrderLine(OrderLineDTO orderLineDTO, DisplayOrder order)
 {
     _order     = order;
     Amount     = orderLineDTO.Amount;
     Consumable = new Consumable(orderLineDTO.ConsumableDTO);
 }
Exemplo n.º 8
0
 public static PostOrderDTO FromOrder(Order order)
 {
     return(new PostOrderDTO {
         OrderLines = order.OrderLines.Select(o => OrderLineDTO.FromOrderLine(o)).ToList()
     });
 }
Exemplo n.º 9
0
        private void AddExecute()
        {
            var newOrder = new OrderLineDTO();
            newOrder.ProductId = SelectedProduct.Id;
            newOrder.ProductTitle = SelectedProduct.Title;
            newOrder.UnitPrice = SelectedProduct.UnitPrice;
            newOrder.Amount = Amount;
            newOrder.Discount = Discount;

            if (OrderLines == null) OrderLines = new ObservableCollection<OrderLineDTO>();
            OrderLines.Add(newOrder);

            SelectedOrderLine = new OrderLineDTO() { Amount = 1 };
            SelectedProduct = null;
        }
Exemplo n.º 10
0
 public static OrderLineDTO CreateOrderLineDTO(int ID, decimal unitPrice, int amount, decimal discount, global::System.DateTime estimateDeliveryDate, decimal totalLine, int orderId)
 {
     OrderLineDTO orderLineDTO = new OrderLineDTO();
     orderLineDTO.Id = ID;
     orderLineDTO.UnitPrice = unitPrice;
     orderLineDTO.Amount = amount;
     orderLineDTO.Discount = discount;
     orderLineDTO.EstimateDeliveryDate = estimateDeliveryDate;
     orderLineDTO.TotalLine = totalLine;
     orderLineDTO.OrderId = orderId;
     return orderLineDTO;
 }
Exemplo n.º 11
0
        public void ListOfFoodsIdToOrderLinesTest_withNoInput()
        {
            //Arrange

            var listOfFoodIdStrings = new List <string>();

            #region Setup4FoodDto

            var food1 = new FoodDTO
            {
                Description      = "Some Test Description, for FoodDTO1",
                FoodCategoryName = "Mad",
                Id    = 1,
                Name  = "Oats Large Flake",
                Price = 218
            };
            var food2 = new FoodDTO
            {
                Description      = "Some Test Description, for FoodDTO2",
                FoodCategoryName = "Drikkevare",
                Id    = 2,
                Name  = "Oil - Food, Lacquer Spray",
                Price = 202
            };
            var food3 = new FoodDTO
            {
                Description      = "Some Test Description, for FoodDTO2",
                FoodCategoryName = "Mad",
                Id    = 3,
                Name  = "Turkey Leg With Drum And Thigh",
                Price = 179
            };
            var food4 = new FoodDTO
            {
                Description      = "Some Test Description, for FoodDTO2",
                FoodCategoryName = "Drikkevare",
                Id    = 4,
                Name  = "Ecolab - Lime - A - Way 4/4 L",
                Price = 112
            };

            #endregion Setup4FoodDto

            #region Setup4OrderLineDto

            var orderLine1 = new OrderLineDTO(1, food1);
            var orderLine2 = new OrderLineDTO(1, food2);
            var orderLine3 = new OrderLineDTO(3, food3);
            var orderLine4 = new OrderLineDTO(1, food4);

            #endregion Setup4OrderLineDto

            var refOrdlines = new List <OrderLineDTO> {
                orderLine1, orderLine2, orderLine3, orderLine4
            };
            var completeFoodInAList = new List <FoodDTO> {
                food1, food2, food3, food4
            };

            // Act => Assert
            Assert.ThrowsException <FormatException>(() => ConvertStringToOrderLines.ListOfFoodsIdToOrderLines(listOfFoodIdStrings, completeFoodInAList));
        }
Exemplo n.º 12
0
        public void ListOfFoodsIdToOrderLinesTest__withValidInput()
        {
            //Arrange
            const string stringFoodId1       = "1";
            const string stringFoodId2       = "2";
            const string stringFoodId3       = "3";
            const string stringFoodId4       = "4";
            var          listOfFoodIdStrings = new List <string> {
                stringFoodId1, stringFoodId2, stringFoodId3, stringFoodId3, stringFoodId3, stringFoodId4
            };

            #region Setup4FoodDto

            var food1 = new FoodDTO
            {
                Description      = "Some Test Description, for FoodDTO1",
                FoodCategoryName = "Mad",
                Id    = 1,
                Name  = "Oats Large Flake",
                Price = 218
            };
            var food2 = new FoodDTO
            {
                Description      = "Some Test Description, for FoodDTO2",
                FoodCategoryName = "Drikkevare",
                Id    = 2,
                Name  = "Oil - Food, Lacquer Spray",
                Price = 202
            };
            var food3 = new FoodDTO
            {
                Description      = "Some Test Description, for FoodDTO2",
                FoodCategoryName = "Mad",
                Id    = 3,
                Name  = "Turkey Leg With Drum And Thigh",
                Price = 179
            };
            var food4 = new FoodDTO
            {
                Description      = "Some Test Description, for FoodDTO2",
                FoodCategoryName = "Drikkevare",
                Id    = 4,
                Name  = "Ecolab - Lime - A - Way 4/4 L",
                Price = 112
            };

            #endregion Setup4FoodDto

            #region Setup4OrderLineDto

            var orderLine1 = new OrderLineDTO(1, food1);
            var orderLine2 = new OrderLineDTO(1, food2);
            var orderLine3 = new OrderLineDTO(3, food3);
            var orderLine4 = new OrderLineDTO(1, food4);

            #endregion Setup4OrderLineDto

            var refOrdlines = new List <OrderLineDTO> {
                orderLine1, orderLine2, orderLine3, orderLine4
            };
            var completeFoodInAList = new List <FoodDTO> {
                food1, food2, food3, food4
            };

            //Act
            var ordlines = ConvertStringToOrderLines.ListOfFoodsIdToOrderLines(listOfFoodIdStrings, completeFoodInAList);

            //Assert
            Assert.IsNotNull(ordlines);
            Assert.AreEqual(4, ordlines.Count());

            Assert.IsNotNull(ordlines.ElementAt(0));
            Assert.IsNotNull(ordlines.ElementAt(1));
            Assert.IsNotNull(ordlines.ElementAt(2));
            Assert.IsNotNull(ordlines.ElementAt(3));

            Assert.AreEqual(refOrdlines.ElementAt(0).Quantity, ordlines.ElementAt(0).Quantity);
            Assert.AreEqual(refOrdlines.ElementAt(1).Quantity, ordlines.ElementAt(1).Quantity);
            Assert.AreEqual(refOrdlines.ElementAt(2).Quantity, ordlines.ElementAt(2).Quantity);
            Assert.AreEqual(refOrdlines.ElementAt(3).Quantity, ordlines.ElementAt(3).Quantity);

            Assert.AreEqual(refOrdlines.ElementAt(0).Food, ordlines.ElementAt(0).Food);
            Assert.AreEqual(refOrdlines.ElementAt(1).Food, ordlines.ElementAt(1).Food);
            Assert.AreEqual(refOrdlines.ElementAt(2).Food, ordlines.ElementAt(2).Food);
            Assert.AreEqual(refOrdlines.ElementAt(3).Food, ordlines.ElementAt(3).Food);
        }