public async Task <List <GetAzureInvoiceLineItemsModel> > HandleAsync(GetAzureInvoiceLineItemsUseCase data)
            {
                var invoiceItems = await CspClient.GetInvoiceByIdAsync(data.InvoiceId);

                var link = invoiceItems.InvoiceDetailLinks.FirstOrDefault(x => x.Contains($"{nameof(Common.Enums.BillingProvider.Azure)}/BillingLineItems"));

                if (string.IsNullOrEmpty(link))
                {
                    return(null);
                }

                return(Mapper.Map <List <GetAzureInvoiceLineItemsModel> >(await CspClient.GetAzureInvoiceLineItemsAsync(link)));
            }
            public async Task <List <GetCustomersOfficeInvoiceLineItemsModel> > HandleAsync(GetCustomersOfficeInvoiceLineItemsUseCase data)
            {
                var invoiceItems = await CspClient.GetInvoiceByIdAsync(data.InvoiceId);

                var link = invoiceItems.InvoiceDetailLinks.FirstOrDefault(x => x.Contains($"{nameof(Common.Enums.BillingProvider.Office)}/BillingLineItems"));

                if (string.IsNullOrEmpty(link))
                {
                    return(null);
                }

                var lineItems = await CspClient.GetOfficeInvoiceLineItemsAsync(link);

                return(Mapper.Map <List <GetCustomersOfficeInvoiceLineItemsModel> >(lineItems.Where(x => x.CustomerId.Equals(data.TenantId))));
            }
Example #3
0
 /// <summary>
 /// A default constructor.
 /// </summary>
 /// <param name="fixture">The fixture that holds the testing setup.</param>
 public CspReportTests(IntegrationTestFixture fixture)
 {
     CspClient = fixture.ServicesProvider.GetService <CspClient>();
 }