public static void UpdateOrderPosition(this OrderPosition entity, OrderPositionModel model) { entity.PositionNumber = model.PositionNumber; entity.Pieces = model.Pieces; entity.Text = model.Text; entity.Price = model.Price; entity.Total = model.PositionNumber * model.Price; }
public OrderModel FindOrderBy(int orderId, bool includedPositions) { IQueryable<Order> entiryQuery = includedPositions ? _orderRepository.AllIncluding(x => x.OrderPositions) : _orderRepository.All; var entity = entiryQuery.SingleOrDefault(x => x.ID == orderId); if (entity != null) { var order = new OrderModel { OrderId = entity.ID, OrderDate = entity.OrderDate, CustomerNumber = entity.CustomerNumber, DeliveryDate = entity.DeliveryDate, TotalPrice = entity.TotalPrice }; if (entity.OrderPositions != null) { order.OrderPositions = new List<OrderPositionModel>(); foreach (var positionEntity in entity.OrderPositions) { var positionModel = new OrderPositionModel { OrderId = positionEntity.OrderID, PositionOrderId = positionEntity.ID, PositionNumber = positionEntity.PositionNumber, Pieces = positionEntity.Pieces, Text = positionEntity.Text, Price = positionEntity.Price, }; order.OrderPositions.Add(positionModel); } } return order; } return null; }
public OrderModel ReOrder(int orderId) { var entity = _orderRepository.AllIncluding(x => x.OrderPositions).SingleOrDefault(x => x.ID == orderId); if (entity != null) { // Copy from the existing order and then set the order date to today var newOrder = new Order(); newOrder.CopyFrom(entity); newOrder.OrderDate = DateTime.Now; newOrder.DeliveryDate = null; _orderRepository.Add(newOrder); _unitOfWork.Commit(); var orderModel = new OrderModel { OrderId = newOrder.ID, OrderDate = newOrder.OrderDate, CustomerNumber = newOrder.CustomerNumber, DeliveryDate = newOrder.DeliveryDate, TotalPrice = newOrder.TotalPrice }; if (newOrder.OrderPositions != null) { orderModel.OrderPositions = new List<OrderPositionModel>(); foreach (var positionEntity in newOrder.OrderPositions) { var positionModel = new OrderPositionModel { OrderId = positionEntity.OrderID, PositionOrderId = positionEntity.ID, PositionNumber = positionEntity.PositionNumber, Pieces = positionEntity.Pieces, Text = positionEntity.Text, Price = positionEntity.Price, }; orderModel.OrderPositions.Add(positionModel); } } return orderModel; } return null; }