public OrderLine(OrderLineDTO orderLineDTO, Order order) { Amount = orderLineDTO.Amount; Consumable = new Consumable(orderLineDTO.ConsumableDTO); OrderId = order.OrderId; Order = order; }
//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, }); }
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); }
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); }
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); }
public static PostOrderDTO FromOrder(Order order) { return(new PostOrderDTO { OrderLines = order.OrderLines.Select(o => OrderLineDTO.FromOrderLine(o)).ToList() }); }
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 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; }
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)); }
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); }