public Ecommerce.Entities.Orders.Order GetOrder(AmazonOrder amazonOrder) { Ecommerce.Entities.Orders.Order order = amazonOrder.Order ?? new Ecommerce.Entities.Orders.Order(); if (order.Id == 0) { order = GetOrderDetails(amazonOrder); Ecommerce.Entities.Orders.Order order1 = order; _session.Transact(session => session.Save(order1)); GetOrderLines(amazonOrder, ref order); _setTax.SetTax(ref order, amazonOrder.Tax); } order.ShippingStatus = amazonOrder.Status.GetEnumByValue <ShippingStatus>(); return(order); }
private void GetOrderLines(AmazonOrder amazonOrder, ref Ecommerce.Entities.Orders.Order order) { foreach (AmazonOrderItem amazonOrderItem in amazonOrder.Items) { var orderLine = new OrderLine { Order = order, UnitPrice = amazonOrderItem.QuantityOrdered > 0 ? (amazonOrderItem.ItemPriceAmount / amazonOrderItem.QuantityOrdered) : 0, Price = amazonOrderItem.ItemPriceAmount, Name = amazonOrderItem.Title, Tax = amazonOrderItem.ItemTaxAmount, Discount = amazonOrderItem.PromotionDiscountAmount, Quantity = Decimal.ToInt32(amazonOrderItem.QuantityOrdered), SKU = amazonOrderItem.SellerSKU }; order.OrderLines.Add(orderLine); _session.Transact(session => session.Save(orderLine)); } }