Beispiel #1
0
            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));
            }
Beispiel #3
0
            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;
                }
            }