private async Task UpdateProduct(OrderPositionModel orderPosition) { Product product = await this.productRepository.Get(orderPosition.ProductId); product.Count -= orderPosition.Count; await this.productRepository.Update(product); }
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 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); }
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); }