Beispiel #1
0
        public decimal TaxAssessment(TaxQuery taxQuery)
        {
            TaxAssessment taxAssessment = null;
            TaxType       taxType       = null;
            decimal       result        = 0;

            try
            {
                //execute the document channel event
                result = _taxController.ExecuteEvent(taxQuery.PostalCode, taxQuery.Amount);
                //get tax type id
                taxType = _taxDataAccess.GetTaxTypeByPostalCode(taxQuery.PostalCode);

                taxAssessment = new TaxAssessment
                {
                    NettIncome  = taxQuery.Amount,
                    IncomeTax   = result,
                    TaxTypeId   = taxType.TaxTypeId,
                    DateCreated = DateTime.Now,
                    UserCreated = "System"
                };
                //save assessment calculation
                _taxDataAccess.AddTaxAssessment(taxAssessment);
            }
            catch (Exception)
            {
                throw;
            }
            return(result);
        }