public List <Models.PaycheckEntry> execute(Employee employee) { List <Models.PaycheckEntry> entries = new List <Models.PaycheckEntry>(); Models.PaycheckEntry INSSEntry = _calculateINSSDiscountService.execute(employee.grossWage); entries.Add(INSSEntry); Models.PaycheckEntry IRPFEntry = _calculateIRPFDiscountService.execute(employee.grossWage); entries.Add(IRPFEntry); Models.PaycheckEntry FGTSEntry = _calculateFGTSDiscountService.execute(employee.grossWage); entries.Add(FGTSEntry); if (employee.hasHealthPlan) { Models.PaycheckEntry healthPlanEntry = _calculateHealthPlanDiscountService.execute(); entries.Add(healthPlanEntry); } if (employee.hasDentalPlan) { Models.PaycheckEntry dentalPlanEntry = _calculateDentalPlanDiscountService.execute(); entries.Add(dentalPlanEntry); } if (employee.hasTransportationVouchersDiscount) { Models.PaycheckEntry dentalPlanEntry = _calculateTransportationVoucherDiscountService.execute(employee.grossWage); entries.Add(dentalPlanEntry); } return(entries); }
public Models.PaycheckEntry execute() { Models.PaycheckEntry entry = new Models.PaycheckEntry(); entry.Description = "Dental plan"; entry.Amount = DiscountAmountDentalPlan; entry.EntryType = Models.PaycheckEntryTypeEnum.Discount; return(entry); }
public Models.PaycheckEntry execute(decimal grossSalary) { Models.PaycheckEntry entry = new Models.PaycheckEntry(); decimal amount = grossSalary * DiscountPercent / 100; entry.Description = "FGTS"; entry.Amount = Decimal.Round(amount, 2); entry.EntryType = Models.PaycheckEntryTypeEnum.Discount; return(entry); }
public List <Models.PaycheckEntry> execute(Employee employee) { List <Models.PaycheckEntry> entries = new List <Models.PaycheckEntry>(); Models.PaycheckEntry entry = new Models.PaycheckEntry(); entry.Description = "Salary"; entry.Amount = employee.grossWage; entry.EntryType = Models.PaycheckEntryTypeEnum.Remuneration; entries.Add(entry); return(entries); }
public Models.PaycheckEntry execute(decimal grossSalary) { Models.PaycheckEntry entry = new Models.PaycheckEntry(); entry.Description = "Transportation voucher"; entry.Amount = 0; entry.EntryType = Models.PaycheckEntryTypeEnum.Discount; if (grossSalary > MinimunAmountForDiscount) { entry.Amount = grossSalary * DiscountPercent / 100; } return(entry); }
public Models.PaycheckEntry execute(decimal grossSalary) { Models.PaycheckEntry entry = new Models.PaycheckEntry(); entry.Description = "IRPF"; entry.Amount = 0m; entry.EntryType = Models.PaycheckEntryTypeEnum.Discount; Models.IRPFDiscount rangeValues = GetIRPFRangeValuesBySalaryRange(grossSalary); if (rangeValues != null) { decimal IRPFAmount = grossSalary * rangeValues.Aliquot / 100; entry.Amount = IRPFAmount <= rangeValues.LimitAmount ? Decimal.Round(IRPFAmount, 2) : rangeValues.LimitAmount; } return(entry); }
public Models.PaycheckEntry execute(decimal grossSalary) { Models.PaycheckEntry entry = new Models.PaycheckEntry(); entry.Description = "INSS"; entry.Amount = 0m; entry.EntryType = Models.PaycheckEntryTypeEnum.Discount; decimal INSSAliquot = GetINSSAliquotBySalaryRange(grossSalary); if (INSSAliquot > 0) { decimal amount = grossSalary * INSSAliquot / 100; entry.Amount = Decimal.Round(amount, 2); } return(entry); }