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);
        }
Ejemplo n.º 3
0
 public Project()
 {
     ProjectInvoice  = new ProjectInvoice();
     ProjectSettings = new ProjectSettings();
 }
Ejemplo n.º 4
0
 public static ProjectInvoiceModel Create(ProjectInvoice invoice)
 {
     return(Projection.Compile().Invoke(invoice));
 }