public string[] ToPrint() { return(new[] { EmployeeName, PayPeriod, GrossIncome.ToString("#.##"), IncomeTax.ToString("#.##"), NetIncome.ToString("#.##"), SuperAmount.ToString("#.##") }); }
public IIncomeTaxDiscountCalculator GetIncomeTaxCalculator(double salary) { if (salary <= IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.EXEMPT_RANGE).MAX_VALUE) { return(GetIncomeTaxFactory(IncomeTaxRangeTypes.EXEMPT_RANGE)); } if (salary <= IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.FIRST_RANGE).MAX_VALUE) { return(GetIncomeTaxFactory(IncomeTaxRangeTypes.FIRST_RANGE)); } if (salary <= IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.SECOND_RANGE).MAX_VALUE) { return(GetIncomeTaxFactory(IncomeTaxRangeTypes.SECOND_RANGE)); } if (salary <= IncomeTax.GetIncomeTax(IncomeTaxRangeTypes.THIRD_RANGE).MAX_VALUE) { return(GetIncomeTaxFactory(IncomeTaxRangeTypes.THIRD_RANGE)); } else { throw new NotImplementedException(); } }
public Discount(IncomeTax incomeTax, double salary, double netSalary, double discounted) { IncomeTax = incomeTax; Salary = salary; NetSalary = netSalary; Discounted = discounted; }
public FinancialOperation CreateInvestment(decimal amount, DateTime maturityDate, decimal interestRate) { var tradeDate = DateTime.Today; var taxes = IncomeTax.Get((maturityDate - tradeDate).Days); return(new Investment(tradeDate, amount, maturityDate, interestRate, taxes)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Year,Month,Paid,Value,Income,Loss,IncomeIncr,SocialSecContr,SocialSecContrIncr,HealthSec,HealthSecIncr")] IncomeTax incomeTax) { if (id != incomeTax.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(incomeTax); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!IncomeTaxExists(incomeTax.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(incomeTax)); }
public void TestInitialize() { player = new Player("player"); banker = new Banker(); incomeTax = new IncomeTax(2, banker, "IncomeTax"); banker.AddAccount(player, 500); }
public void UnPostLedger(IncomeTax tax) { if (tax.PostStatus == LedgerPostStatus.Posted) { organization.LedgersDal.RemoveTransaction(tax.Id); tax.PostStatus = LedgerPostStatus.ReadyToPost; erpNodeDBContext.SaveChanges(); } }
public IEnumerable <ContributorDto> CalculateIncomeTax(decimal salary) { var incomeTax = new IncomeTax(salary); var contributors = _repository.Get().ToList(); contributors.ForEach(x => incomeTax.CalculateIncomeTax(x)); contributors = contributors.OrderBy(x => x.IncomeTax).ThenBy(x => x.Name).ToList(); return(_mapper.Map <List <ContributorDto> >(contributors)); }
/// <summary> /// Gets the pay slip. /// </summary> /// <param name="employeeSalary">The employee salary.</param> /// <param name="incomeTax">The income tax.</param> /// <param name="paymentStarPeriod">The payment star period.</param> /// <returns></returns> public PaySlip GetPaySlip(EmployeeSalary employeeSalary, IncomeTax incomeTax, SalarySlipPeriod paymentStarPeriod) { return(new PaySlip( employeeSalary.Employee, paymentStarPeriod, employeeSalary.AnualSalary / Month, incomeTax.Tax / Month, employeeSalary.SuperRate )); }
static void Main(string[] args) { Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine("\t\t\t\t Welcome To Income Tax Calculator \n\n"); double income; double deduction; // Calculate tax until user stops the program while (true) { Console.ForegroundColor = ConsoleColor.Gray; // Calling GetValue(message to print) function and storing the values income = GetValue("Enter your income in Rupees"); deduction = GetValue("Enter your 80C investment amount in Rupees"); // Object for calculating Gross Taxable Income and Tax for different slabs IncomeTax it = new IncomeTax(); double gti = it.GTI(income, deduction); Slabs ITax = it.TaxDeduction(gti); Display(ITax); // Check response of user for repeating process char response = 'p'; do { Console.WriteLine("\n\nDo you want to calculate your tax again ?(y/n)"); try { response = Convert.ToChar(Console.ReadLine()); response = Char.ToLower(response); } catch (Exception e) { Console.WriteLine("Invalid response \n" + e.Message); } } while (response != 'n' && response != 'y'); Console.WriteLine("\n\n"); if (response == 'n') { Environment.Exit(0); } } }
// GET: IncomeTaxes/Create public IActionResult Create() { ViewData["Month"] = new SelectList(Tools.getMonthsDictionary(), "Key", "Value"); ViewData["Year"] = new SelectList(Tools.getYearsList()); IncomeTax incomeTax = new IncomeTax(); incomeTax.Year = DateTime.Now.Year; incomeTax.Month = DateTime.Now.Month - 1; return(PartialView(incomeTax)); }
public IncomeTax Create(Guid taxCodeId) { var newCoperateTax = new IncomeTax() { Id = Guid.NewGuid(), TrDate = DateTime.Today }; erpNodeDBContext.IncomeTaxs.Add(newCoperateTax); erpNodeDBContext.SaveChanges(); return(newCoperateTax); }
public void IsentoSemDependentes() { //Arrange var salarioMinimo = 954; var impostoRenda = new IncomeTax(salarioMinimo); var contribuinte = new Contributor("643.574.755-54", "Alexandre Dórea", 0, 1683.56m); //Act impostoRenda.CalculateIncomeTax(contribuinte); //Assert contribuinte.IncomeTax.Should().Be(0); }
static void Main(string[] args) { MedicareLevy medicareLevy = new MedicareLevy("Medicare Levy", 2); BudgetRepairLevy budgetRepairLevy = new BudgetRepairLevy("Budget Repair Levy", 2); IncomeTax incomeTax = new IncomeTax("Income Tax", 5); Income income = new Income(); SalaryDetails salaryDetails = new SalaryDetails(medicareLevy, budgetRepairLevy, incomeTax, income); salaryDetails.Runner(); System.Console.ReadKey(); }
private void InitializeLocations() { Locations = new List <ILocation>(); for (int i = 0; i < 40; i++) { Locations.Add(new GenericLocation()); } Locations[4] = new IncomeTax(); Locations[30] = new GoToJail(); Locations[38] = new LuxuryTax(); }
public void SegundaAliquotaComDependentes() { //Arrange var salarioMinimo = 954; var impostoRenda = new IncomeTax(salarioMinimo); var contribuinte = new Contributor("643.574.755-54", "Alexandre Dórea", 1, 4800); var valorImpostoEsperado = 712.845m; //Act impostoRenda.CalculateIncomeTax(contribuinte); //Assert contribuinte.IncomeTax.Should().Be(valorImpostoEsperado); }
public void QuartaAliquotaSemDependentes() { //Arrange var salarioMinimo = 954; var impostoRenda = new IncomeTax(salarioMinimo); var contribuinte = new Contributor("643.574.755-54", "Alexandre Dórea", 0, 8765); var valorImpostoEsperado = 2410.375m; //Act impostoRenda.CalculateIncomeTax(contribuinte); //Assert contribuinte.IncomeTax.Should().Be(valorImpostoEsperado); }
public void PrimeiraAliquotaSemDependentes() { //Arrange var salarioMinimo = 954; var impostoRenda = new IncomeTax(salarioMinimo); var contribuinte = new Contributor("643.574.755-54", "Alexandre Dórea", 0, 1958.47m); var valorImpostoEsperado = 146.88525M; //Act impostoRenda.CalculateIncomeTax(contribuinte); //Assert contribuinte.IncomeTax.Should().Be(valorImpostoEsperado); }
public IncomeTax Create() { var taxDate = DateTime.Today; var newIncomeTax = new IncomeTax() { Id = Guid.NewGuid(), TrDate = taxDate, FiscalYearId = organization.FiscalYears.Find(taxDate).Id, }; erpNodeDBContext.IncomeTaxs.Add(newIncomeTax); erpNodeDBContext.SaveChanges(); return(newIncomeTax); }
public override bool Equals(object obj) { var item = obj as PayslipEntity; if (item == null) { return(false); } return(FirstName.Equals(item.FirstName) && LastName.Equals(item.LastName) && PayPeriod.Equals(item.PayPeriod) && GrossIncome.Equals(item.GrossIncome) && IncomeTax.Equals(item.IncomeTax) && NetIncome.Equals(item.NetIncome) && SuperAnnuation.Equals(item.SuperAnnuation)); }
public void Budget_Repair_Levy_Should_Be_Zero_If_Income_Is_In_First_Range() { //Arrange double taxableIncome = 100000; double tax = 0; MedicareLevy medicareLevy = new MedicareLevy("Medicare Levy", 2); BudgetRepairLevy budgetRepairLevy = new BudgetRepairLevy("Budget Repair Levy", 2); IncomeTax incomeTax = new IncomeTax("Income Tax", 5); Income income = new Income(); SalaryDetails sd = new SalaryDetails(medicareLevy, budgetRepairLevy, incomeTax, income); //Act tax = sd.CalculateBudgetRepairLevy(taxableIncome); //Assert Assert.AreEqual(0, tax, "Tax should be zero"); }
public static void Main() { var marcinPay = new IncomeTax( new CharityDeduction(0.0f, new HealthTax( new RetirmentTax( new PensionTax( new EmployePay() ) ) ) ) ); Console.WriteLine("Marcin pay is {0} and total tax is {1}", marcinPay.GetPay(), marcinPay.GetTotalTax()); }
static void Main(string[] args) { var firstNameInput = StandardMessage.CaptureData("first name"); var surnameInput = StandardMessage.CaptureData("surname"); var annualSalaryInput = StandardMessage.CaptureData("annual salary"); var superRateInput = StandardMessage.CaptureData("super rate"); var startDate = StandardMessage.CaptureData("payment start date"); var endDate = StandardMessage.CaptureData("payment end date"); var bracket1 = TaxBracket.Generate(0M, 18200M, 0M, 0M); var bracket2 = TaxBracket.Generate(18201M, 37000M, 0M, 0.325M); var bracket3 = TaxBracket.Generate(37001M, 87000M, 3572M, 0.325M); var bracket4 = TaxBracket.Generate(87001M, 180000M, 19822M, 0.37M); var bracket5 = TaxBracket.Generate(180000M, Int32.MaxValue, 54232M, 0.45M); var taxTable = TaxTable.Build(bracket1, bracket2, bracket3, bracket4, bracket5); EmployeeDetails employeeDetails = EmployeeDetails.ConstructFullName(firstNameInput, surnameInput); PayPeriod payPeriod = PayPeriod.Generate(startDate, endDate); GrossIncome grossIncome = GrossIncome.Generate(annualSalaryInput, payPeriod); IncomeTax incomeTax = IncomeTax.Generate(taxTable, grossIncome, payPeriod); NetIncome netIncome = NetIncome.Generate(grossIncome, incomeTax); Super super = Super.Generate(superRateInput, grossIncome); var paySlip = PaySlip.Create( employeeDetails, payPeriod, grossIncome, incomeTax, netIncome, super ); var payslipOutput = PayslipBuilder.Print(paySlip); Console.WriteLine(payslipOutput); // }
public async Task ShouldReturnTheCorrectProgressiveIncomeTax(decimal income, decimal tax) { //Arrange command = new CalculateIncomeTaxCommand { AnnualIncome = income, PostCode = "7441" }; IncomeTax incomeTax = new IncomeTax { IncomeAmount = income, PostCode = "7441", Tax = tax }; TaxCalculationType taxCalculationType = new TaxCalculationType { ID = 1, Name = "Progressive", PostCode = "7441" }; var incomeTaxTypeCollection = new List <TaxCalculationType> { taxCalculationType }; var incomeTaxCollection = new List <IncomeTax> { incomeTax }; A.CallTo(() => taxCalculationTypeRepo.GetAllAsync(A <CancellationToken> ._)).ReturnsLazily(x => { return(Task.FromResult(incomeTaxTypeCollection.AsEnumerable())); }); A.CallTo(() => incomeTaxRepo.GetAllAsync(A <CancellationToken> ._)).ReturnsLazily(x => { return(Task.FromResult(incomeTaxCollection.AsEnumerable())); }); var commandHandler = new CalculateIncomeTaxCommandHandler(taxCalculationTypeRepo, progressiveTaxRepo, incomeTaxRepo); //Act var result = await commandHandler.Handle(command, cancellationToken); //Assert Assert.AreEqual(incomeTax.IncomeAmount, result.IncomeAmount); Assert.AreEqual(incomeTax.PostCode, result.PostCode); Assert.AreEqual(incomeTax.Tax, result.Tax); }
public async Task <IActionResult> Index(IncomeTaxViewModel model) { string utin = ""; string tin = ""; for (int i = 0; i < model.utin.Length; i++) { utin = utin + model.utin[i]; } for (int j = 0; j < model.tin.Length; j++) { tin = tin + model.tin[j]; } IncomeTax incomeTax = new IncomeTax { nameOfAsse = model.nameOfAsse, nid = model.nid, utin = utin, tin = tin, circel = model.circel, taxZone = model.taxZone, asseYear = model.asseYear, isResident = model.isResident, familyStatus = model.familyStatus, nameOFEmployee = model.nameOFEmployee, husbandORWife = model.husbandORWife, father = model.father, mother = model.mother, dateOFBirth = model.dateOFBirth, presentAddress = model.presentAddress, prmanentAddress = model.prmanentAddress, mobileOffice = model.mobileOffice, residential = model.residential, vatRegistrationNo = model.vatRegistrationNo }; await _context.IncomeTaxes.AddAsync(incomeTax); await _context.SaveChangesAsync(); return(Json(_context.IncomeTaxes.ToList())); }
public void Setup() { taxRate = new IncomeTax() { Description = "", Id = 1, TaxBrackets = new Collection <TaxBracket> { new TaxBracket() { TaxRate = 0.15m, IncomeTaxId = 1, Id = 1, BaseTax = 0, Description = "" } } }; }
/// <summary> /// Calculates the tax. /// </summary> /// <param name="grossSalary">The gross salary.</param> /// <param name="incomeTaxYear">The income tax year.</param> /// <returns></returns> /// <exception cref="System.ArgumentNullException">amount</exception> public IncomeTax CalculateTax(Amount grossSalary, int incomeTaxYear) { if (grossSalary == null) { throw new ArgumentNullException("amount"); } var taxableIncome = incomeTaxSlabRepository.GetTaxation(incomeTaxYear); IncomeTax incomeTax = new IncomeTax(); foreach (var item in taxableIncome.TaxSlabs.OrderBy(x => x.Order)) { if (item.MaxValue >= grossSalary) { incomeTax.Tax += ((grossSalary - item.MinValue) * item.Tax); break; } incomeTax.Tax += ((item.MaxValue - item.MinValue) * item.Tax); } return(incomeTax); }
public void Setup() { taxRate = new IncomeTax() { Description = "", Id = 1, TaxBrackets = new Collection <TaxBracket> { new TaxBracket() { TaxRate = 0.08m, IncomeTaxId = 1, Id = 1, BaseTax = 20000m, Description = "", EndIncome = 150000m } } }; }
//public async Task<IActionResult> Create([Bind("Id,Year,Month,Paid,Value,Income,Loss,IncomeIncr,SocialSecContr,SocialSecContrIncr,HealthSec,HealthSecIncr")] IncomeTax incomeTax) public async Task <IActionResult> Create([Bind("Id,Year,Month")] IncomeTax incomeTax) { ViewData["Month"] = new SelectList(Tools.getMonthsDictionary(), "Key", "Value"); ViewData["Year"] = new SelectList(Tools.getYearsList()); if (ModelState.IsValid) { incomeTax = incomeTax.compute(_context); if (incomeTax.Income != 0 && incomeTax.Loss != 0) { _context.Add(incomeTax); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } else { return(RedirectToAction(nameof(Index), new { info = "Brak danych dla wybranego okresu" })); } } return(PartialView(incomeTax)); }
public Result Calculate(IncomeTax taxRate, decimal income) { var result = new Result { Description = string.Format("Tax calculate result for income {0}", income.ToString("C")), TaxableIncome = income, Items = new Collection <ResultItem>() }; var applicableTaxes = taxRate.TaxBrackets.Where(t => t.StartIncome < income); foreach (var item in applicableTaxes) { var taxItem = new ResultItem() { Name = item.Description }; var startIncome = item.StartIncome; if (startIncome > 0) { startIncome -= 1; } if (item.EndIncome.HasValue == false || item.EndIncome.Value > income) { taxItem.Amount = (income - startIncome) * item.TaxRate; } else { taxItem.Amount = (item.EndIncome.Value - startIncome) * item.TaxRate; } result.Items.Add(taxItem); } return(result); }
public void TestInitialize() { _incomeTax = new IncomeTax(); }
public void TestCleanup() { _incomeTax = null; }