private Dto.Xsd.InvoiceDetail GetInvoiceDetail(Revenue revenueItem) { var invoiceDetail = new Dto.Xsd.InvoiceDetail { LineNumber = revenueItem.LineNumber.Value, NetValue = revenueItem.NetValue.Value, VatAmount = revenueItem.VatValue.Value, VatCategory = MapVatCategory(revenueItem.TaxType), IncomeClassification = revenueItem.IncomeClassifications.Select(invoiceIncomeClassification => GetIncomeClassification(invoiceIncomeClassification)).ToArray() }; if (revenueItem.VatExemption.HasValue) { invoiceDetail.VatExemptionCategory = MapVatExemptionCategory(revenueItem.VatExemption.Value); invoiceDetail.VatExemptionCategorySpecified = true; } if (revenueItem.CityTax != null) { invoiceDetail.OtherTaxesCategory = MapOtherTaxCategory(revenueItem.CityTax.Type); invoiceDetail.OtherTaxesAmount = revenueItem.CityTax.Amount.Value; invoiceDetail.OtherTaxesCategorySpecified = true; invoiceDetail.OtherTaxesAmountSpecified = true; } return(invoiceDetail); }
private static Dto.Xsd.InvoiceDetail GetInvoiceDetail(Invoice invoice, IIndexedItem <Revenue> indexedRevenueItem) { var revenueItem = indexedRevenueItem.Value; var invoiceDetail = new Dto.Xsd.InvoiceDetail { LineNumber = indexedRevenueItem.Index, NetValue = Math.Abs(revenueItem.NetValue.Value), VatAmount = Math.Abs(revenueItem.VatValue.Value), VatCategory = MapVatCategory(revenueItem.TaxType), IncomeClassification = new[] { GetIncomeClassification(invoice, revenueItem) } }; if (revenueItem.VatExemption.HasValue) { invoiceDetail.VatExemptionCategory = MapVatExemptionCategory(revenueItem.VatExemption.Value); invoiceDetail.VatExemptionCategorySpecified = true; } return(invoiceDetail); }