public static void UpdateOrder(this Order entity, OrderModel viewModel) { entity.CustomerNumber = viewModel.CustomerNumber; entity.OrderDate = viewModel.OrderDate; entity.DeliveryDate = viewModel.DeliveryDate; if (viewModel.OrderPositions != null) { if (entity.OrderPositions == null) entity.OrderPositions = new List<OrderPosition>(); foreach (OrderPositionModel pos in viewModel.OrderPositions) { var posEntity = entity.OrderPositions.SingleOrDefault(x => x.ID == pos.PositionOrderId); if (posEntity == null || posEntity.ID == 0) { posEntity = new OrderPosition(); posEntity.UpdateOrderPosition(pos); entity.OrderPositions.Add(posEntity); } else { posEntity.UpdateOrderPosition(pos); } } } entity.TotalPrice = entity.OrderPositions.Sum(x => x.Total); }
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 void UpdateOrder(int orderId, OrderModel orderModel) { var entity = _orderRepository.AllIncluding(x => x.OrderPositions).SingleOrDefault(x => x.ID == orderId); if (entity != null) { entity.UpdateOrder(orderModel); _orderRepository.Edit(entity); _unitOfWork.Commit(); } }
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 int AddOrder(OrderModel orderModel) { if (orderModel.OrderPositions.Count < 1) return -1; var order = new Order { CustomerNumber = orderModel.CustomerNumber.Trim(), TotalPrice = orderModel.TotalPrice, DeliveryDate = orderModel.DeliveryDate, OrderDate = DateTime.Now }; foreach (var position in orderModel.OrderPositions) { var positionOrder = new OrderPosition { OrderID = order.ID, Pieces = position.Pieces != null ? position.Pieces.Trim() : null, PositionNumber = position.PositionNumber, Price = position.Price, Text = position.Text != null ? position.Text.Trim() : null, Total = position.Total }; order.TotalPrice += positionOrder.Total; order.OrderPositions.Add(positionOrder); } try { _orderBusinessService.AddOrder(order); } catch (Exception ex) { //TODO: throw; } return order.ID; }
public OrderModel ReOrder(OrderModel model) { OrderModel newOrder = _orderBusinessService.ReOrder(model.OrderId); return OrderById(newOrder.OrderId.ToString(), DateTime.Now.TimeOfDay.ToString()); }
public int UpdateOrder(OrderModel orderModel, string id) { int orderId = 0; int.TryParse(id, out orderId); try { _orderBusinessService.UpdateOrder(orderId, orderModel); } catch (Exception ex) { //TODO: throw; } return 1; }