/// <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); }
/// <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)); }