public void Handle(LinkIncomingInvoiceToJobOrderCommand message) { var jobOrder = Repository.GetById <TimeAndMaterialJobOrder>(message.JobOrderId); jobOrder.LinkIncomingInvoice(EventStore, message.InvoiceId, message.DateOfLink, message.Amount); Repository.Save(jobOrder); }
public Task Handle(LinkIncomingInvoiceToJobOrderCommand message) { return(Task.Factory.StartNew(() => { var jobOrder = _repository.GetById <JobOrder>(message.JobOrderId); jobOrder.LinkIncomingInvoice(_eventStore, message.InvoiceId, message.DateOfLink, message.Amount); _repository.Save(jobOrder); })); }
public void LinkIncomingInvoiceToJobOrder(LinkIncomingInvoiceToJobOrderViewModel model) { var jobOrderId = (from j in Database.JobOrders where j.Number == model.JobOrderNumber select j.OriginalId).Single(); var command = new LinkIncomingInvoiceToJobOrderCommand(model.InvoiceOriginalId, jobOrderId, model.DateOfLink, model.Amount); Bus.Send(command); }
public async Task LinkIncomingInvoiceToJobOrderAsync(LinkIncomingInvoiceToJobOrderModel model) { var command = new LinkIncomingInvoiceToJobOrderCommand( model.UserId, model.InvoiceId, model.JobOrderId, model.DateOfLink, model.Amount ); await Bus.Send(command); }
public async Task Handle(LinkIncomingInvoiceToJobOrderCommand message) { var count = eventStore.Find <IncomingInvoiceLinkedToJobOrderEvent>(e => e.InvoiceId == message.InvoiceId && e.JobOrderId == message.JobOrderId).Count(); if (count > 0) { throw new InvalidOperationException("The specified invoice is already associated to a Job Order."); } var jobOrder = repository.GetById <JobOrder>(message.JobOrderId); jobOrder.LinkIncomingInvoice(eventStore, message.InvoiceId, message.DateOfLink, message.Amount); await repository.SaveAsync(jobOrder); }