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);
        }
Exemplo n.º 2
0
        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);
        }