private async Task UpdateSupplierIfChanged(EditCommand command, Domain.Models.PurchaseOrderAggregate.PurchaseOrder order) { if (order.Supplier.Id != command.SupplierId) { _context.Entry(order).Collection(o => o.LineItems).Load(); var supplier = await _context.Supplier.FindAsync(command.SupplierId); order.ChangeSupplier(supplier); } }
public async Task <Result> Handle(CreateCommand request, CancellationToken cancellationToken) { var supplier = await _context.Supplier.FindAsync(request.SupplierId); var purchaseOrder = new Domain.Models.PurchaseOrderAggregate.PurchaseOrder(request.OrderNo, supplier); _context.PurchaseOrder.Add(purchaseOrder); await _context.SaveChangesAsync(); return(new Result(purchaseOrder.Id)); }
private async Task UpdateShipmentIfChanged(EditCommand command, Domain.Models.PurchaseOrderAggregate.PurchaseOrder order) { if (order.Shipment != null && command.ShipmentId == null) { if (command.ShipmentId == null) { order.Shipment = null; } else if (order.Shipment.Id != command.ShipmentId) { var shipment = await _context.Shipment.FindAsync(command.ShipmentId); order.Shipment = shipment; } } else if (order.Shipment == null && command.ShipmentId != null) { var shipment = await _context.Shipment.SingleAsync(s => s.Id == command.ShipmentId); order.Shipment = shipment; } }