Table of Contents

Interface IInvoiceProcessingService

Namespace
arolariu.Backend.Domain.Invoices.Services.Processing
Assembly
arolariu.Backend.Domain.Invoices.dll

This interface represents the invoice processing service.

public interface IInvoiceProcessingService

Methods

AddProduct(Guid, Product)

Adds a product to an invoice.

Task<Invoice> AddProduct(Guid invoiceIdentifier, Product product)

Parameters

invoiceIdentifier Guid
product Product

Returns

Task<Invoice>

AddProduct(Invoice, Product)

Adds a product to an invoice.

Task<Invoice> AddProduct(Invoice invoice, Product product)

Parameters

invoice Invoice
product Product

Returns

Task<Invoice>

AnalyzeInvoice(Guid, Guid, AnalysisOptions)

Analyze an invoice.

Task AnalyzeInvoice(Guid identifier, Guid userIdentifier, AnalysisOptions options)

Parameters

identifier Guid
userIdentifier Guid
options AnalysisOptions

Returns

Task

AnalyzeInvoice(Guid, AnalysisOptions)

Analyze an invoice.

Task AnalyzeInvoice(Guid identifier, AnalysisOptions options)

Parameters

identifier Guid
options AnalysisOptions

Returns

Task

AnalyzeInvoice(Invoice, AnalysisOptions)

Analyze an invoice.

Task AnalyzeInvoice(Invoice invoice, AnalysisOptions options)

Parameters

invoice Invoice
options AnalysisOptions

Returns

Task

CreateInvoice(Invoice)

Creates an invoice object.

Task<Invoice> CreateInvoice(Invoice invoice)

Parameters

invoice Invoice

Returns

Task<Invoice>

CreateMerchant(Merchant)

Creates a merchant object.

Task<Merchant> CreateMerchant(Merchant merchant)

Parameters

merchant Merchant

Returns

Task<Merchant>

DeleteInvoice(Guid)

Deletes an invoice object, given only its identifier. This method should be called by superusers only.

Task DeleteInvoice(Guid identifier)

Parameters

identifier Guid

Returns

Task

DeleteInvoice(Guid, Guid)

Deletes an invoice object, given its identifier and the user identifier.

Task DeleteInvoice(Guid identifier, Guid userIdentifier)

Parameters

identifier Guid
userIdentifier Guid

Returns

Task

DeleteMerchant(Guid)

Deletes a merchant object, given only its identifier. This method should be called by superusers only.

Task DeleteMerchant(Guid identifier)

Parameters

identifier Guid

Returns

Task

DeleteMerchant(Guid, Guid)

Deletes a merchant object.

Task DeleteMerchant(Guid identifier, Guid parentCompanyId)

Parameters

identifier Guid
parentCompanyId Guid

Returns

Task

DeleteProduct(Guid, string)

Deletes a product.

Task<Invoice> DeleteProduct(Guid invoiceIdentifier, string productName)

Parameters

invoiceIdentifier Guid
productName string

Returns

Task<Invoice>

DeleteProduct(Guid, Product)

Deletes a product.

Task<Invoice> DeleteProduct(Guid invoiceIdentifier, Product product)

Parameters

invoiceIdentifier Guid
product Product

Returns

Task<Invoice>

DeleteProduct(Invoice, string)

Deletes a product.

Task<Invoice> DeleteProduct(Invoice invoice, string productName)

Parameters

invoice Invoice
productName string

Returns

Task<Invoice>

DeleteProduct(Invoice, Product)

Deletes a product.

Task<Invoice> DeleteProduct(Invoice invoice, Product product)

Parameters

invoice Invoice
product Product

Returns

Task<Invoice>

GetProduct(Guid, string)

Gets the products from an invoice.

Task<Product> GetProduct(Guid invoiceIdentifier, string productName)

Parameters

invoiceIdentifier Guid
productName string

Returns

Task<Product>

GetProduct(Invoice, string)

Gets a product from an invoice.

Task<Product> GetProduct(Invoice invoice, string productName)

Parameters

invoice Invoice
productName string

Returns

Task<Product>

GetProducts(Guid)

Gets the products from an invoice.

Task<IEnumerable<Product>> GetProducts(Guid invoiceIdentifier)

Parameters

invoiceIdentifier Guid

Returns

Task<IEnumerable<Product>>

GetProducts(Guid, Guid)

Gets the products from an invoice.

Task<IEnumerable<Product>> GetProducts(Guid invoiceIdentifier, Guid userIdentifier)

Parameters

invoiceIdentifier Guid
userIdentifier Guid

Returns

Task<IEnumerable<Product>>

GetProducts(Invoice)

Gets the products from an invoice.

Task<IEnumerable<Product>> GetProducts(Invoice invoice)

Parameters

invoice Invoice

Returns

Task<IEnumerable<Product>>

ReadInvoice(Guid)

Reads an invoice object, given only its identifier.

Task<Invoice> ReadInvoice(Guid identifier)

Parameters

identifier Guid

Returns

Task<Invoice>

ReadInvoice(Guid, Guid)

Reads an invoice object, given its identifier and the user identifier.

Task<Invoice> ReadInvoice(Guid identifier, Guid userIdentifier)

Parameters

identifier Guid
userIdentifier Guid

Returns

Task<Invoice>

ReadInvoices()

Reads all invoice objects, regardless of the user identifier. This method should be called by superusers only.

Task<IEnumerable<Invoice>> ReadInvoices()

Returns

Task<IEnumerable<Invoice>>

ReadInvoices(Guid)

Reads all invoice objects, given the user identifier (partition key).

Task<IEnumerable<Invoice>> ReadInvoices(Guid userIdentifier)

Parameters

userIdentifier Guid

Returns

Task<IEnumerable<Invoice>>

ReadMerchant(Guid)

Reads a merchant object, given only its identifier.

Task<Merchant> ReadMerchant(Guid identifier)

Parameters

identifier Guid

Returns

Task<Merchant>

ReadMerchant(Guid, Guid)

Reads a merchant object, given its identifier and the parent company identifier.

Task<Merchant> ReadMerchant(Guid identifier, Guid parentCompanyId)

Parameters

identifier Guid
parentCompanyId Guid

Returns

Task<Merchant>

ReadMerchants()

Reads all merchant objects, regardless of the parent company identifier. This method should be called by superusers only.

Task<IEnumerable<Merchant>> ReadMerchants()

Returns

Task<IEnumerable<Merchant>>

ReadMerchants(Guid)

Reads all merchant objects.

Task<IEnumerable<Merchant>> ReadMerchants(Guid parentCompanyId)

Parameters

parentCompanyId Guid

Returns

Task<IEnumerable<Merchant>>

UpdateInvoice(Guid, Invoice)

Updates an invoice object, given only its identifier.

Task<Invoice> UpdateInvoice(Guid invoiceIdentifier, Invoice updatedInvoice)

Parameters

invoiceIdentifier Guid
updatedInvoice Invoice

Returns

Task<Invoice>

UpdateMerchant(Guid, Merchant)

Updates a merchant object.

Task<Merchant> UpdateMerchant(Guid identifier, Merchant updatedMerchant)

Parameters

identifier Guid
updatedMerchant Merchant

Returns

Task<Merchant>