public int OrderSave(Order order_header) { if (order_header == null) { throw new ArgumentNullException(nameof(order_header)); } return(ExecuteFaultHandledOperation(() => { int order_header_key; var order_data = _order_se.Map(order_header); order_data.OrderItemCount = order_header.OrderItems.Sum(item => item.OrderItemQuantity); order_data.OrderValueSum = order_header.OrderItems.Sum(item => item.OrderItemLineSum); //order_data.OrderShipDate = order_header.OrderItems.Min(item => item.OrderItemShipDate).GetValueOrDefault(); order_header_key = _order_header_repo.Save(order_data); Log.Info($"Order Item start [{order_header.OrderItems.Count}] items to process"); foreach (var order_item in order_header.OrderItems) { var order_item_data = _order_item_se.Map(order_item); //Log.Info($"Order Item converted [{order_item_data.ProductName}] sucessfully!"); order_item_data.OrderKey = order_header_key; order_item_data.OrderItemKey = order_item.OrderItemKey; int order_item_key = _order_item_repo.Save(order_item_data); Log.Info($"Order Item [{order_item_key}] saved to the database sucessfully!"); } Log.Info($"Order Comments start [{order_header.Comments.Count}] items to process"); foreach (var comment in order_header.Comments) { comment.EntityKey = order_header_key; comment.EntityTypeKey = (int)QIQOEntityType.Order; int comment_key = _comment_be.CommentSave(comment); Log.Info($"Order Comment [{comment_key}] saved to the database sucessfully!"); } return order_header_key; })); }
public Task <List <Order> > GetOrdersAsync() { return(Task.Factory.StartNew(() => { return _orderEntityService.Map(_orderRepository.GetAll()); })); }