private IPurchaseOrder GetOrder(OrderIdentifier identifier) { var order = m_purchaseOrderRepository.TryLoadOrderByOrderNumber(identifier.ErpOrderId); if (order == null) { order = m_database.New <IPurchaseOrder>(); } else if (order.OrderHash == identifier.OrderHash) { m_stopMapping = true; Order = order; return(null); } else { Order = order; OrderItemsToDelete.AddRange(Order.Items.Select(i => i.Id)); } order.OrderNumber = identifier.ErpOrderId; Order = order; return(Order); }
private IOrderItem GetOrderItem(string erpItemId) { var item = Order.Items.FirstOrDefault(i => i.ErpOrderItemId == erpItemId); if (item != null) { OrderItemsToDelete.Remove(item.Id); } else { item = m_database.New <IOrderItem>(i => i.ErpOrderItemId = erpItemId); } Items.Add(item); return(item); }