public IActionResult GetCalculatedTax(int income, int zipCode) { TaxCalcResultErrorsAllowed result = null; result = taxCalculatorRepository.GetCalculatedTax(income, zipCode); if (result == null) { return(new EmptyResult()); } return(new JsonResult(result)); }
//Zips were gathered According to https://www.unitedstateszipcodes.org/ny/ using a //javascript scraper function that i pasted in the ZipCodes.cs file for you public TaxCalcResultErrorsAllowed GetCalculatedTax(int income, int zipCode) { TaxCalcResultErrorsAllowed result = new TaxCalcResultErrorsAllowed(); try { string formula = ""; double value = 0.0d; int progressiveStatus = ProgressiveAndFlatZipCode(zipCode); //if progresssiveStatus > 0, the zipCode is in either New York, California, or Virginia if (progressiveStatus > 0) { //if income > 40000, we do progressive tax if (income > 40000) { formula = formulaOptions.ProgressiveTax; value = ProgressiveTaxCalculator(income); } else { //if income <= 40000, we do flat tax formula = formulaOptions.FlatTax; value = FlatRate; } } else { formula = formulaOptions.FixedValue; value = FlatRate; } result.Formula = formula; result.Value = value; }catch (Exception e) { result.Error = e.Message; } return(result); }