public IActionResult Create([FromBody] TaxCalcRequestViewModel taxRequest) { if (taxRequest == null) { return(BadRequest()); } //check if a valid post code has been selected switch (taxRequest.PostalCode) { case "7441": case "1000": taxRequest.TaxAmount = CalculateProgressiveTax(taxRequest.AnnualIncome); break; case "A100": taxRequest.TaxAmount = CalculateFlatValueTax(taxRequest.AnnualIncome); break; case "7000": taxRequest.TaxAmount = CalculateFlatRateTax(taxRequest.AnnualIncome); break; default: return(BadRequest()); } TaxCalculationViewModel taxCalcViewModel = new TaxCalculationViewModel(); taxCalcViewModel.PostalCode = taxRequest.PostalCode; taxCalcViewModel.AnnualIncome = taxRequest.AnnualIncome; taxCalcViewModel.TaxAmount = taxRequest.TaxAmount; var id = _taxCalculationService.Add(taxCalcViewModel); //TODO: Write to TaxCalc table return(Ok(taxRequest)); }