/// <summary>
            /// Only support:
            /// Codes that are of the supported tax basis.
            /// And codes that are defined in the formula (Id > 0).
            /// And codes that are of either ServiceTax or VAT or SalesTax.
            /// </summary>
            /// <param name="isChargeLine">Indicate whether taxable item is chargeLine.</param>
            /// <param name="codeIndia">The tax code.</param>
            /// <param name="context">The request context.</param>
            /// <returns>The flag indicating whether the tax type is supported or not.</returns>
            private static bool SupportedTax(bool isChargeLine, TaxCodeIndia codeIndia, RequestContext context)
            {
                GetTaxParameterDataRequest dataRequest = new GetTaxParameterDataRequest(QueryResultSettings.AllRecords);
                TaxParameters taxParameter             = context.Execute <SingleEntityDataServiceResponse <TaxParameters> >(dataRequest).Entity;

                // Only support service tax for misc charges
                if (isChargeLine)
                {
                    return((codeIndia.Formula.SupportedTaxBasisForMiscCharge && codeIndia.Formula.Id > 0) &&
                           (codeIndia.TaxType == TaxTypeIndia.ServiceTax && taxParameter.ServiceTaxIndia));
                }

                if (codeIndia.Formula.SupportedTaxBasis && codeIndia.Formula.Id > 0)
                {
                    if (codeIndia.TaxType == TaxTypeIndia.SalesTax && taxParameter.SalesTaxIndia)
                    {
                        return(true);
                    }

                    if (codeIndia.TaxType == TaxTypeIndia.ServiceTax && taxParameter.ServiceTaxIndia)
                    {
                        return(true);
                    }

                    if (codeIndia.TaxType == TaxTypeIndia.VAT && taxParameter.VATIndia)
                    {
                        return(true);
                    }
                }

                return(false);
            }
Esempio n. 2
0
            /// <summary>
            /// The data service method to execute the data manager to get the tax parameter.
            /// </summary>
            /// <param name="request">The data service request.</param>
            /// <returns>The data service response.</returns>
            private SingleEntityDataServiceResponse <TaxParameters> GetTaxParameter(GetTaxParameterDataRequest request)
            {
                TaxParameters taxParameter = new TaxDataManager(request.RequestContext).GetTaxParameter(request.QueryResultSettings);

                return(new SingleEntityDataServiceResponse <TaxParameters>(taxParameter));
            }