Class CrossIndustryInvoiceBusinessRule
Represents any business rule for validating a Factur-X document.
Assembly: FacturXDotNet.dll
public abstract record CrossIndustryInvoiceBusinessRule : BusinessRule, IEquatable<BusinessRule>, IEquatable<CrossIndustryInvoiceBusinessRule>
Inheritance: System.Object
-> FacturXDotNet.Validation.BusinessRules.BusinessRule
Derived:
Expand
FacturXDotNet.Validation.BusinessRules.CII.Br.Br01InvoiceShallHaveSpecificationIdentifier, FacturXDotNet.Validation.BusinessRules.CII.Br.Br02InvoiceShallHaveInvoiceNumber, FacturXDotNet.Validation.BusinessRules.CII.Br.Br03InvoiceShallHaveIssueDate, FacturXDotNet.Validation.BusinessRules.CII.Br.Br04InvoiceShallHaveTypeCode, FacturXDotNet.Validation.BusinessRules.CII.Br.Br05InvoiceShallHaveCurrencyCode, FacturXDotNet.Validation.BusinessRules.CII.Br.Br06InvoiceShallHaveSellerName, FacturXDotNet.Validation.BusinessRules.CII.Br.Br07InvoiceShallHaveBuyerName, FacturXDotNet.Validation.BusinessRules.CII.Br.Br08InvoiceShallHaveSellerPostalAddress, FacturXDotNet.Validation.BusinessRules.CII.Br.Br09InvoiceShallHaveSellerPostalAddressWithCountryCode, FacturXDotNet.Validation.BusinessRules.CII.Br.Br13InvoiceShallHaveTotalAmountWithoutVat, FacturXDotNet.Validation.BusinessRules.CII.Br.Br14InvoiceShallHaveTotalAmountWithVat, FacturXDotNet.Validation.BusinessRules.CII.Br.Br15InvoiceShallHaveAmountDueForPayment, FacturXDotNet.Validation.BusinessRules.CII.BrCo.BrCo09, FacturXDotNet.Validation.BusinessRules.CII.BrCo.BrCo26, FacturXDotNet.Validation.BusinessRules.CII.BrDec.BrDec12InvoiceTotalAmountWithoutVatHasTwoDecimals, FacturXDotNet.Validation.BusinessRules.CII.BrDec.BrDec13InvoiceTotalVatAmountHasTwoDecimals, FacturXDotNet.Validation.BusinessRules.CII.BrDec.BrDec14InvoiceTotalAmountHasTwoDecimals, FacturXDotNet.Validation.BusinessRules.CII.BrDec.BrDec18InvoiceDueAmountHasTwoDecimals, FacturXDotNet.Validation.BusinessRules.CII.BrS.BrS01
Implements:System.IEquatable<FacturXDotNet.Validation.BusinessRules.BusinessRule>
, System.IEquatable<FacturXDotNet.Validation.BusinessRules.CII.CrossIndustryInvoiceBusinessRule>
Properties
EqualityContract
protected override Type EqualityContract { get; }
TermsInvolved
The business terms that are used to check this rule.
public IReadOnlyCollection<string> TermsInvolved { get; init; }
Methods
Check(CrossIndustryInvoice?, IBusinessRuleDetailsLogger?)
Determines whether the invoice satisfies the conditions defined by the rule.
public abstract bool Check(CrossIndustryInvoice? cii, IBusinessRuleDetailsLogger? logger = null)
Returns
System.Boolean
: true
if the rule is satisfied by the invoice; otherwise false
.
Parameters
Type | Name | Description |
---|---|---|
FacturXDotNet.Models.CII.CrossIndustryInvoice | cii | The Cross-Industry Invoice to validate. |
FacturXDotNet.Validation.BusinessRules.IBusinessRuleDetailsLogger | logger |
Format()
Formats the rule as a string.
public override string Format()
Returns
System.String
ToString()
public override string ToString()
Returns
System.String
PrintMembers(StringBuilder)
protected override bool PrintMembers(StringBuilder builder)
Returns
System.Boolean
Parameters
Type | Name |
---|---|
System.Text.StringBuilder | builder |
GetHashCode()
public override int GetHashCode()
Returns
System.Int32
Equals(object?)
public override bool Equals(object? obj)
Returns
System.Boolean
Parameters
Type | Name |
---|---|
System.Object | obj |
Equals(BusinessRule?)
public override sealed bool Equals(BusinessRule? other)
Returns
System.Boolean
Parameters
Type | Name |
---|---|
FacturXDotNet.Validation.BusinessRules.BusinessRule | other |
Equals(CrossIndustryInvoiceBusinessRule?)
public virtual bool Equals(CrossIndustryInvoiceBusinessRule? other)
Returns
System.Boolean
Parameters
Type | Name |
---|---|
FacturXDotNet.Validation.BusinessRules.CII.CrossIndustryInvoiceBusinessRule | other |
Deconstruct(out string, out string, out FacturXProfileFlags, out IReadOnlyCollection<string>)
public void Deconstruct(out string Name, out string Description, out FacturXProfileFlags Profiles, out IReadOnlyCollection<string> TermsInvolved)
Parameters
Type | Name |
---|---|
System.String | Name |
System.String | Description |
FacturXDotNet.Models.FacturXProfileFlags | Profiles |
System.Collections.Generic.IReadOnlyCollection<System.String> | TermsInvolved |
Implements
System.IEquatable<FacturXDotNet.Validation.BusinessRules.BusinessRule>
System.IEquatable<FacturXDotNet.Validation.BusinessRules.CII.CrossIndustryInvoiceBusinessRule>