private async Task <InvoiceResult> VoidInvoice(ProjectInvoice invoice) { var retVal = new InvoiceResult() { InvoiceId = invoice.InvoiceId }; var service = new InvoiceService(); var result = service.VoidInvoice(invoice.InvoiceId); if (result.Status == "void") { retVal.Succeeded = true; await Task.Run(() => RaiseEvent(new InvoiceVoidedEvent() { InvoiceId = invoice.InvoiceId })); } return(retVal); }
private async Task <InvoiceResult> FinalizeInvoice([NotNull] ProjectInvoice entity) { _logger.LogInformation($@"Finalizing Invoice: {entity.InvoiceId}"); var retVal = new InvoiceResult() { InvoiceId = entity.InvoiceId, ProjectId = entity.ProjectId }; var invoice = _invoiceService.FinalizeInvoice(entity.InvoiceId, new InvoiceFinalizeOptions()); _logger.LogInformation($@"Invoice Status: {invoice.Status}"); if (invoice.Status == "open") { retVal.Succeeded = true; await Task.Run(() => RaiseEvent(new InvoiceFinalizedEvent() { InvoiceId = entity.InvoiceId })); } return(retVal); }
public Project() { ProjectInvoice = new ProjectInvoice(); ProjectSettings = new ProjectSettings(); }
public static ProjectInvoiceModel Create(ProjectInvoice invoice) { return(Projection.Compile().Invoke(invoice)); }