public async Task <string> PostAsync(TaxCalculationViewModel taxModel) { var httpClient = new HttpClient(); var response = await httpClient.PostAsync(new Uri("http://localhost:44341/api/TaxCalculation"), new StringContent(JsonConvert.SerializeObject(taxModel))); response.EnsureSuccessStatusCode(); string content = await response.Content.ReadAsStringAsync(); return(await Task.Run(() => content)); }
public IActionResult Index(TaxCalcRequestViewModel taxModel) { TaxCalculationViewModel taxCalcModel = new TaxCalculationViewModel(); taxCalcModel.PostalCode = taxModel.SelectedPostalCode; taxCalcModel.AnnualIncome = Double.Parse(taxModel.AnnualIncome.ToString()); taxCalcModel.TaxAmount = 0; var PostResult = PostAsync(taxCalcModel).GetAwaiter().GetResult(); taxModel = SetUpPostalCodes(taxModel); return(View(taxModel)); }
public ActionResult TaxPayersList([Bind(Include = "PostCode,TaxTotal,TaxTotal,TaxTotal,TaxTotal")] TaxCalculationViewModel taxCalculationViewModel) { _paySpaceAssessmentApplicationReposatory.GetAllCalculatedTaxType.Select(s => new TaxCalculationViewModel { taxID = s.taxID, PostCode = s.PostCode, TaxTotal = s.TaxTotal, YearlySalary = s.YearlySalary, transcationDate = DateTime.Now }); var model = PopulateTaxCalculationViewModel(); return(View("TaxPayersList", model)); }
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)); }
//[ValidateAntiForgeryToken] public ActionResult CalculateTax(string postalCode, string annaulSalary) { TaxCalculationViewModel taxCalculationViewModel = new TaxCalculationViewModel(); double Salary = double.Parse(annaulSalary); double taxedAmount = 0.0; if (postalCode == "7741") { if ((Salary > 0) && (Salary <= 8350)) { double taxRate1 = 0.1; taxedAmount = Salary * taxRate1; taxCalculationViewModel.taxID = 0; taxCalculationViewModel.YearlySalary = annaulSalary; taxCalculationViewModel.TaxTotal = taxedAmount.ToString(); taxCalculationViewModel.PostCode = postalCode; taxCalculationViewModel.transcationDate = DateTime.Now; Tax_CalculationTable tax = new Tax_CalculationTable(); tax.taxID = taxCalculationViewModel.taxID; tax.YearlySalary = taxCalculationViewModel.YearlySalary; tax.TaxTotal = taxCalculationViewModel.TaxTotal; tax.PostCode = taxCalculationViewModel.PostCode; tax.transcationDate = DateTime.Now; //Call the bool to create text amount _paySpaceAssessmentApplicationReposatory.SaveCalculatedTax(tax); } else { if ((Salary > 8351) && (Salary <= 33950)) { double taxRate1 = 0.15; taxedAmount = Salary * taxRate1; taxCalculationViewModel.taxID = 0; taxCalculationViewModel.YearlySalary = annaulSalary; taxCalculationViewModel.TaxTotal = taxedAmount.ToString(); taxCalculationViewModel.PostCode = postalCode; taxCalculationViewModel.transcationDate = DateTime.Now; Tax_CalculationTable tax = new Tax_CalculationTable(); tax.taxID = taxCalculationViewModel.taxID; tax.YearlySalary = taxCalculationViewModel.YearlySalary; tax.PostCode = taxCalculationViewModel.PostCode; tax.TaxTotal = taxCalculationViewModel.TaxTotal; tax.transcationDate = DateTime.Now; //Call the bool to create text amount _paySpaceAssessmentApplicationReposatory.SaveCalculatedTax(tax); } else if ((Salary > 33951) && (Salary <= 82250)) { double taxRate1 = 0.25; taxedAmount = Salary * taxRate1; taxCalculationViewModel.taxID = 0; taxCalculationViewModel.YearlySalary = annaulSalary; taxCalculationViewModel.TaxTotal = taxedAmount.ToString(); taxCalculationViewModel.PostCode = postalCode; taxCalculationViewModel.transcationDate = DateTime.Now; Tax_CalculationTable tax = new Tax_CalculationTable(); tax.taxID = taxCalculationViewModel.taxID; tax.YearlySalary = taxCalculationViewModel.YearlySalary; tax.TaxTotal = taxCalculationViewModel.TaxTotal; tax.PostCode = taxCalculationViewModel.PostCode; tax.transcationDate = DateTime.Now; //Call the bool to create text amount _paySpaceAssessmentApplicationReposatory.SaveCalculatedTax(tax); } else if ((Salary > 82251) && (Salary <= 171550)) { double taxRate1 = 0.28; taxedAmount = Salary * taxRate1; taxCalculationViewModel.taxID = 0; taxCalculationViewModel.YearlySalary = annaulSalary; taxCalculationViewModel.TaxTotal = taxedAmount.ToString(); taxCalculationViewModel.PostCode = postalCode; taxCalculationViewModel.transcationDate = DateTime.Now; Tax_CalculationTable tax = new Tax_CalculationTable(); tax.taxID = taxCalculationViewModel.taxID; tax.YearlySalary = taxCalculationViewModel.YearlySalary; tax.TaxTotal = taxCalculationViewModel.TaxTotal; tax.PostCode = taxCalculationViewModel.PostCode; tax.transcationDate = DateTime.Now; //Call the bool to create text amount _paySpaceAssessmentApplicationReposatory.SaveCalculatedTax(tax); } else if ((Salary > 171551) && (Salary <= 372950)) { double taxRate1 = 0.33; taxedAmount = Salary * taxRate1; taxCalculationViewModel.taxID = 0; taxCalculationViewModel.YearlySalary = annaulSalary; taxCalculationViewModel.TaxTotal = taxedAmount.ToString(); taxCalculationViewModel.PostCode = postalCode; taxCalculationViewModel.transcationDate = DateTime.Now; Tax_CalculationTable tax = new Tax_CalculationTable(); tax.taxID = taxCalculationViewModel.taxID; tax.YearlySalary = taxCalculationViewModel.YearlySalary; tax.TaxTotal = taxCalculationViewModel.TaxTotal; tax.PostCode = taxCalculationViewModel.PostCode; tax.transcationDate = DateTime.Now; //Call the bool to create text amount _paySpaceAssessmentApplicationReposatory.SaveCalculatedTax(tax); } else if ((Salary > 171551) && (Salary <= 372950)) { double taxRate1 = 0.35; taxedAmount = Salary * taxRate1; taxCalculationViewModel.taxID = 0; taxCalculationViewModel.YearlySalary = annaulSalary; taxCalculationViewModel.TaxTotal = taxedAmount.ToString(); taxCalculationViewModel.PostCode = postalCode; taxCalculationViewModel.transcationDate = DateTime.Now; Tax_CalculationTable tax = new Tax_CalculationTable(); tax.taxID = taxCalculationViewModel.taxID; tax.YearlySalary = taxCalculationViewModel.YearlySalary; tax.TaxTotal = taxCalculationViewModel.TaxTotal; tax.PostCode = taxCalculationViewModel.PostCode; tax.transcationDate = DateTime.Now; //Call the bool to create text amount _paySpaceAssessmentApplicationReposatory.SaveCalculatedTax(tax); } else if (Salary > 372951) { double taxRate1 = 0.35; taxedAmount = Salary * taxRate1; taxCalculationViewModel.taxID = 0; taxCalculationViewModel.YearlySalary = annaulSalary; taxCalculationViewModel.TaxTotal = taxedAmount.ToString(); taxCalculationViewModel.PostCode = postalCode; taxCalculationViewModel.transcationDate = DateTime.Now; Tax_CalculationTable tax = new Tax_CalculationTable(); tax.taxID = taxCalculationViewModel.taxID; tax.YearlySalary = taxCalculationViewModel.YearlySalary; tax.TaxTotal = taxCalculationViewModel.TaxTotal; tax.PostCode = taxCalculationViewModel.PostCode; tax.transcationDate = DateTime.Now; //Call the bool to create text amount _paySpaceAssessmentApplicationReposatory.SaveCalculatedTax(tax); } } } if (postalCode == "A100") { if (Salary == 10000) { double taxRate2 = 17.3 * 100; double totalTaxed = Salary * taxRate2; taxCalculationViewModel.taxID = 0; taxCalculationViewModel.YearlySalary = annaulSalary; taxCalculationViewModel.TaxTotal = totalTaxed.ToString(); taxCalculationViewModel.PostCode = postalCode; taxCalculationViewModel.transcationDate = DateTime.Now; Tax_CalculationTable tax = new Tax_CalculationTable(); tax.taxID = taxCalculationViewModel.taxID; tax.YearlySalary = taxCalculationViewModel.YearlySalary; tax.TaxTotal = taxCalculationViewModel.TaxTotal; tax.PostCode = taxCalculationViewModel.PostCode; tax.transcationDate = DateTime.Now; //Call the bool to create text amount _paySpaceAssessmentApplicationReposatory.SaveCalculatedTax(tax); } else { if (Salary < 171550) { double taxR = 0.05; double totalTax = Salary * taxR; taxCalculationViewModel.taxID = 0; taxCalculationViewModel.YearlySalary = annaulSalary; taxCalculationViewModel.TaxTotal = taxedAmount.ToString(); taxCalculationViewModel.PostCode = postalCode; taxCalculationViewModel.transcationDate = DateTime.Now; Tax_CalculationTable tax = new Tax_CalculationTable(); tax.taxID = taxCalculationViewModel.taxID; tax.YearlySalary = taxCalculationViewModel.YearlySalary; tax.TaxTotal = taxCalculationViewModel.TaxTotal; tax.PostCode = taxCalculationViewModel.PostCode; tax.transcationDate = DateTime.Now; //Call the bool to create text amount _paySpaceAssessmentApplicationReposatory.SaveCalculatedTax(tax); } } } if (postalCode == "7000") { double FatRa = 17.5; double totalTaxVal = Salary * FatRa; taxCalculationViewModel.taxID = 0; taxCalculationViewModel.YearlySalary = annaulSalary; taxCalculationViewModel.TaxTotal = totalTaxVal.ToString(); taxCalculationViewModel.PostCode = postalCode; taxCalculationViewModel.transcationDate = DateTime.Now; Tax_CalculationTable tax = new Tax_CalculationTable(); tax.taxID = taxCalculationViewModel.taxID; tax.YearlySalary = taxCalculationViewModel.YearlySalary; tax.TaxTotal = taxCalculationViewModel.TaxTotal; tax.PostCode = taxCalculationViewModel.PostCode; tax.transcationDate = DateTime.Now; //Call the bool to create text amount _paySpaceAssessmentApplicationReposatory.SaveCalculatedTax(tax); } if (postalCode == "1000") { double proR = 17.5; double totalTaxValue = Salary * proR; taxCalculationViewModel.taxID = 0; taxCalculationViewModel.YearlySalary = annaulSalary; taxCalculationViewModel.TaxTotal = totalTaxValue.ToString(); taxCalculationViewModel.PostCode = postalCode; taxCalculationViewModel.transcationDate = DateTime.Now; Tax_CalculationTable tax = new Tax_CalculationTable(); tax.taxID = taxCalculationViewModel.taxID; tax.YearlySalary = taxCalculationViewModel.YearlySalary; tax.TaxTotal = taxCalculationViewModel.TaxTotal; tax.PostCode = taxCalculationViewModel.PostCode; tax.transcationDate = DateTime.Now; //Call the bool to create text amount _paySpaceAssessmentApplicationReposatory.SaveCalculatedTax(tax); } return(RedirectToAction("TaxPayersList")); }