public void StoreAmazonOrdersDetailsData(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, IEnumerable <AmazonOrderItem> ordersData) { MP_CustomerMarketPlace customerMarketPlace = GetCustomerMarketPlace(databaseCustomerMarketPlace.Id); foreach (var amazonOrderItem in ordersData) { if (amazonOrderItem.OrderedItemsList == null || amazonOrderItem.OrderedItemsList.Count == 0) { continue; } var orderItem = customerMarketPlace.AmazonOrders.SelectMany(x => x.OrderItems).FirstOrDefault(x => x.OrderId == amazonOrderItem.OrderId); if (orderItem != null) { orderItem.OrderItemDetails.AddAll(amazonOrderItem.OrderedItemsList.Select( i => { var mpAmazonOrderItemDetail = new MP_AmazonOrderItemDetail { OrderItem = orderItem, SellerSKU = i.SellerSKU, Title = i.Title, ASIN = i.ASIN, CODFee = i.CODFee, CODFeeDiscount = i.CODFeeDiscount, GiftMessageText = i.GiftMessageText, GiftWrapLevel = i.GiftWrapLevel, GiftWrapPrice = i.GiftWrapPrice, GiftWrapTax = i.GiftWrapTax, ItemPrice = i.ItemPrice, ItemTax = i.ItemTax, OrderItemId = i.OrderItemId, PromotionDiscount = i.PromotionDiscount, QuantityOrdered = i.QuantityOrdered, QuantityShipped = i.QuantityShipped, ShippingDiscount = i.ShippingDiscount, ShippingPrice = i.ShippingPrice, ShippingTax = i.ShippingTax }; mpAmazonOrderItemDetail.OrderItemCategories = CreateLinkCollection(mpAmazonOrderItemDetail, i.Categories); return(mpAmazonOrderItemDetail); }).ToArray()); } } _CustomerMarketplaceRepository.Update(customerMarketPlace); }
private Iesi.Collections.Generic.ISet <MP_AmazonOrderItemDetailCatgory> CreateLinkCollection(MP_AmazonOrderItemDetail orderItemDetail, ICollection <MP_EbayAmazonCategory> categories) { if (categories == null) { return(null); } return(new HashedSet <MP_AmazonOrderItemDetailCatgory>( categories.Select(c => new MP_AmazonOrderItemDetailCatgory { Category = _EbayAmazonCategoryRepository.Get(c.Id), OrderItemDetail = orderItemDetail }).ToArray())); }