public void ComputeAllowanceNone() { Initialize(); DeleteInfo(); //Test Data var employee = new Employee { EmployeeCode = "11001", FirstName = "Jona", LastName = "Pereira", MiddleName = "Aprecio", BirthDate = DateTime.Parse("02/02/1991"), Gender = 1, IsActive = true }; var employee2 = new Employee { EmployeeCode = "11002", FirstName = "Cornelio Jr.", LastName = "Cawicaan", MiddleName = "Bue", BirthDate = DateTime.Parse("10/30/1989"), Gender = 2, IsActive = true }; var employeeInfo = new EmployeeInfo { Employee = employee, Salary = 120, SalaryFrequency = FrequencyType.Hourly, Allowance = 350 }; var employeeInfo2 = new EmployeeInfo { Employee = employee2, Salary = 150, SalaryFrequency = FrequencyType.Hourly, Allowance = 400 }; _employeeInfoRepository.Add(employeeInfo); _employeeInfoRepository.Add(employeeInfo2); var totalEmployeeHours = new TotalEmployeeHours { EmployeeId = 1, Date = DateTime.Parse("05/12/2016"), Hours = 8, Type = RateType.Regular, TotalEmployeeHoursId = 1 }; var totalEmployeeHours2 = new TotalEmployeeHours { EmployeeId = 1, Date = DateTime.Parse("05/12/2016"), Hours = 3, Type = RateType.OverTime, TotalEmployeeHoursId = 2 }; var totalEmployeeHours3 = new TotalEmployeeHours { EmployeeId = 2, Date = DateTime.Parse("05/12/2016"), Hours = 5, Type = RateType.Regular, TotalEmployeeHoursId = 1 }; var totalEmployeeHours4 = new TotalEmployeeHours { EmployeeId = 2, Date = DateTime.Parse("05/12/2016"), Hours = 2, Type = RateType.OverTime, TotalEmployeeHoursId = 2 }; var totalEmployeeHours5 = new TotalEmployeeHours { EmployeeId = 1, Date = DateTime.Parse("05/13/2016"), Hours = 10, Type = RateType.Regular, TotalEmployeeHoursId = 1 }; var totalEmployeeHours6 = new TotalEmployeeHours { EmployeeId = 1, Date = DateTime.Parse("05/13/2016"), Hours = 3, Type = RateType.OverTime, TotalEmployeeHoursId = 2 }; var totalEmployeeHours7 = new TotalEmployeeHours { EmployeeId = 2, Date = DateTime.Parse("05/13/2016"), Hours = 1, Type = RateType.Regular, TotalEmployeeHoursId = 1 }; var totalEmployeeHours8 = new TotalEmployeeHours { EmployeeId = 2, Date = DateTime.Parse("05/13/2016"), Hours = 2, Type = RateType.NightDifferential, TotalEmployeeHoursId = 2 }; _totalEmployeeHoursRepository.Add(totalEmployeeHours); _totalEmployeeHoursRepository.Add(totalEmployeeHours2); _totalEmployeeHoursRepository.Add(totalEmployeeHours3); _totalEmployeeHoursRepository.Add(totalEmployeeHours4); _totalEmployeeHoursRepository.Add(totalEmployeeHours5); _totalEmployeeHoursRepository.Add(totalEmployeeHours6); _totalEmployeeHoursRepository.Add(totalEmployeeHours7); _totalEmployeeHoursRepository.Add(totalEmployeeHours8); var payrollDate = DateTime.Parse("05/18/2016"); var employeePayrollItem = new EmployeePayrollItem { EmployeeId = 1, TotalAmount = 220.55M, PayrollDate = payrollDate, RateType = RateType.RegularHolidayRestDay, Multiplier = 1, RatePerHour = 0.25M }; var employeePayrollItem2 = new EmployeePayrollItem { EmployeeId = 1, TotalAmount = 100, PayrollDate = payrollDate, RateType = RateType.RegularHolidayRestDay, Multiplier = 1, RatePerHour = 0.25M }; var employeePayrollItem3 = new EmployeePayrollItem { EmployeeId = 1, TotalAmount = 15, PayrollDate = payrollDate, RateType = RateType.RegularHolidayRestDay, Multiplier = 1, RatePerHour = 0.25M }; var employeePayrollItem4 = new EmployeePayrollItem { EmployeeId = 2, TotalAmount = 300.10M, PayrollDate = payrollDate, RateType = RateType.RegularHolidayRestDay, Multiplier = 1, RatePerHour = 0.25M }; var employeePayrollItem5 = new EmployeePayrollItem { EmployeeId = 2, TotalAmount = 50, PayrollDate = payrollDate, RateType = RateType.RegularHolidayRestDay, Multiplier = 1, RatePerHour = 0.25M }; var employeePayrollItem6 = new EmployeePayrollItem { EmployeeId = 1, TotalAmount = 150.12M, PayrollDate = payrollDate, RateType = RateType.RegularHolidayRestDay, Multiplier = 1, RatePerHour = 0.25M }; var employeePayrollItem7 = new EmployeePayrollItem { EmployeeId = 1, TotalAmount = 40, PayrollDate = payrollDate, RateType = RateType.RegularHolidayRestDay, Multiplier = 1, RatePerHour = 0.25M }; var employeePayrollItem8 = new EmployeePayrollItem { EmployeeId = 2, TotalAmount = 540.02M, PayrollDate = payrollDate, RateType = RateType.RegularHolidayRestDay, Multiplier = 1, RatePerHour = 0.25M }; _employeePayrollItemRepository.Add(employeePayrollItem); _employeePayrollItemRepository.Add(employeePayrollItem2); _employeePayrollItemRepository.Add(employeePayrollItem3); _employeePayrollItemRepository.Add(employeePayrollItem4); _employeePayrollItemRepository.Add(employeePayrollItem5); _employeePayrollItemRepository.Add(employeePayrollItem6); _employeePayrollItemRepository.Add(employeePayrollItem7); _employeePayrollItemRepository.Add(employeePayrollItem8); _unitOfWork.Commit(); //Test var dateStart = DateTime.Parse("05/11/2016"); var dateEnd = DateTime.Parse("05/17/2016"); _employeePayrollService.GeneratePayroll(dateStart, dateEnd); _unitOfWork.Commit(); var payrollList = _employeePayrollService.GetByDateRange(payrollDate, payrollDate); Assert.IsNotNull(payrollList); Assert.AreEqual(2, payrollList.Count()); Assert.AreEqual(1, payrollList[0].EmployeeId); Assert.AreEqual(dateStart, payrollList[0].CutOffStartDate); Assert.AreEqual(dateEnd, payrollList[0].CutOffEndDate); Assert.AreEqual(false, payrollList[0].IsTaxed); Assert.AreEqual(0, payrollList[0].TotalAdjustment); Assert.AreEqual(0, payrollList[0].TotalDeduction); Assert.AreEqual(525.67M, payrollList[0].TotalGross); Assert.AreEqual(525.67M, payrollList[0].TotalNet); Assert.AreEqual(525.67M, payrollList[0].TaxableIncome); Assert.AreEqual(0, decimal.Round(payrollList[0].TotalAllowance, 2)); Assert.AreEqual(2, payrollList[1].EmployeeId); Assert.AreEqual(dateStart, payrollList[1].CutOffStartDate); Assert.AreEqual(dateEnd, payrollList[1].CutOffEndDate); Assert.AreEqual(false, payrollList[1].IsTaxed); Assert.AreEqual(0, payrollList[1].TotalAdjustment); Assert.AreEqual(0, payrollList[1].TotalDeduction); Assert.AreEqual(890.12M, payrollList[1].TotalGross); Assert.AreEqual(890.12M, payrollList[1].TotalNet); Assert.AreEqual(890.12M, payrollList[1].TaxableIncome); Assert.AreEqual(0, decimal.Round(payrollList[1].TotalAllowance, 2)); }
public void GenerateTotal(IList <EmployeeHours> employeeHoursList) { if (employeeHoursList != null && employeeHoursList.Any()) { int tempEmployeeId = 0; DateTime?tempDate = null; RateType?tempRate = null; TotalEmployeeHours totalEmployeeHours = null; EmployeeHours last = employeeHoursList.Last(); foreach (EmployeeHours hours in employeeHoursList) { // If not the same date, type and employee as the last entry should create new total employee hours if (tempEmployeeId != hours.EmployeeId || tempDate != hours.Date || tempRate != hours.Type) { //Save previous entry if any if (totalEmployeeHours != null) { //Check if there's an existing total entry for the employee, rate type and date var existingTotalEmployeeHours = _totalEmployeeHoursRepository .GetByEmployeeDateAndType(totalEmployeeHours.EmployeeId, totalEmployeeHours.Date, totalEmployeeHours.Type); //If yes update the value if (existingTotalEmployeeHours != null) { _totalEmployeeHoursRepository.Update(existingTotalEmployeeHours); existingTotalEmployeeHours.Hours = (existingTotalEmployeeHours.Hours + totalEmployeeHours.Hours); } else //Create new entry { totalEmployeeHours.Hours = (totalEmployeeHours.Hours); _totalEmployeeHoursRepository.Add(totalEmployeeHours); } } //Create new total employee hours obj totalEmployeeHours = new TotalEmployeeHours { Date = hours.Date, EmployeeId = hours.EmployeeId, Type = hours.Type, Hours = hours.Hours }; } else //Same Employee, Date and Rate, Update the total Employee hours data { totalEmployeeHours.Hours = totalEmployeeHours.Hours + hours.Hours; } //If Last Iteration and New entry //Save if (hours.Equals(last) && totalEmployeeHours.TotalEmployeeHoursId <= 0) { //Check if there's an existing total entry for the employee, rate type and date var existingTotalEmployeeHours = _totalEmployeeHoursRepository .GetByEmployeeDateAndType(totalEmployeeHours.EmployeeId, totalEmployeeHours.Date, totalEmployeeHours.Type); //If yes update the value if (existingTotalEmployeeHours != null) { _totalEmployeeHoursRepository.Update(existingTotalEmployeeHours); existingTotalEmployeeHours.Hours = (existingTotalEmployeeHours.Hours + totalEmployeeHours.Hours); } else //Create new entry { totalEmployeeHours.Hours = (totalEmployeeHours.Hours); _totalEmployeeHoursRepository.Add(totalEmployeeHours); } } //Set Reference data tempDate = hours.Date; tempEmployeeId = hours.EmployeeId; tempRate = hours.Type; //Update employee hours IsIncludedInTotal value _employeeHoursService.Update(hours); hours.IsIncludedInTotal = true; } //Commit all change _unitOfWork.Commit(); } }
//[TestMethod] public void GenerateEmployeeDailySalaryByDateRangeRegular() { //Arrange Initialize(); DeleteData(); var employee = new Employee { EmployeeCode = "11001", FirstName = "Jona", LastName = "Pereira", MiddleName = "Aprecio", BirthDate = DateTime.Parse("02/02/1991"), Gender = 1, IsActive = true }; var employee2 = new Employee { EmployeeCode = "11002", FirstName = "Cornelio", LastName = "Cawicaan", MiddleName = "Bue", BirthDate = DateTime.Parse("10/30/1989"), Gender = 2, IsActive = true }; var employeeInfo = new EmployeeInfo { Employee = employee, Salary = 5000, SalaryFrequency = FrequencyType.Weekly }; var employeeInfo2 = new EmployeeInfo { Employee = employee2, Salary = 8000, SalaryFrequency = FrequencyType.Weekly }; _employeeInfoRepository.Add(employeeInfo); _employeeInfoRepository.Add(employeeInfo2); var workSchedule = new WorkSchedule { TimeStart = new TimeSpan(0, 7, 0, 0), TimeEnd = new TimeSpan(0, 16, 0, 0), WeekStart = 1, WeekEnd = 5 }; var employeeWorkSchedule = new EmployeeWorkSchedule { WorkSchedule = workSchedule, EmployeeId = 1 }; var employeeWorkSchedule2 = new EmployeeWorkSchedule { WorkSchedule = workSchedule, EmployeeId = 2 }; _employeeWorkScheduleRepository.Add(employeeWorkSchedule); _employeeWorkScheduleRepository.Add(employeeWorkSchedule2); //Total EmployeeHours var totalEmployeeHours1 = new TotalEmployeeHours { Date = DateTime.Parse("05/02/2016"), EmployeeId = 1, Hours = 8, TotalEmployeeHoursId = 1, Type = RateType.Regular }; var totalEmployeeHours2 = new TotalEmployeeHours { Date = DateTime.Parse("05/02/2016"), EmployeeId = 2, Hours = 7.5, TotalEmployeeHoursId = 2, Type = RateType.Regular }; var totalEmployeeHours3 = new TotalEmployeeHours { Date = DateTime.Parse("05/03/2016"), EmployeeId = 1, Hours = 8.1, TotalEmployeeHoursId = 2, Type = RateType.Regular }; var totalEmployeeHours4 = new TotalEmployeeHours { Date = DateTime.Parse("05/03/2016"), EmployeeId = 2, Hours = 4, TotalEmployeeHoursId = 2, Type = RateType.Regular }; _totalEmployeeHoursRepository.Add(totalEmployeeHours1); _totalEmployeeHoursRepository.Add(totalEmployeeHours2); _totalEmployeeHoursRepository.Add(totalEmployeeHours3); _totalEmployeeHoursRepository.Add(totalEmployeeHours4); _unitOfWork.Commit(); //Test var dateFrom = DateTime.Parse("05/02/2016"); var dateTo = DateTime.Parse("05/03/2016"); _employeeDailyPayrollService.GenerateEmployeeDailySalaryByDateRange(dateFrom, dateTo); //Results Verification var results = _employeeDailyPayrollService.GetByDateRange(dateFrom, dateTo); Assert.IsNotNull(results); Assert.AreEqual(4, results.Count); Assert.AreEqual(1, results[0].EmployeeId); Assert.AreEqual(3, results[0].TotalEmployeeHoursId); Assert.AreEqual((decimal)1012.50, results[0].TotalPay); Assert.AreEqual(DateTime.Parse("05/03/2016"), results[0].Date); Assert.AreEqual(1, results[1].EmployeeId); Assert.AreEqual(1, results[1].TotalEmployeeHoursId); Assert.AreEqual((decimal)1000, results[1].TotalPay); Assert.AreEqual(DateTime.Parse("05/02/2016"), results[1].Date); Assert.AreEqual(2, results[2].EmployeeId); Assert.AreEqual(4, results[2].TotalEmployeeHoursId); Assert.AreEqual((decimal)800, results[2].TotalPay); Assert.AreEqual(DateTime.Parse("05/03/2016"), results[2].Date); Assert.AreEqual(2, results[3].EmployeeId); Assert.AreEqual(2, results[3].TotalEmployeeHoursId); Assert.AreEqual((decimal)1500, results[3].TotalPay); Assert.AreEqual(DateTime.Parse("05/02/2016"), results[3].Date); }
public void Update(TotalEmployeeHours totalEmployeeHours) { _totalEmployeeHoursRepository.Update(totalEmployeeHours); }
public void GenerateTotalByDateRangeMinimumOT() { //Arrange var databaseFactory = new DatabaseFactory(); var unitOfWork = new UnitOfWork(databaseFactory); var employeeHoursRepository = new EmployeeHoursRepository(databaseFactory); var totalEmployeeHoursRepository = new TotalEmployeeHoursRepository(databaseFactory); var employeeDepartmentRepository = new EmployeeDepartmentRepository(databaseFactory); var employeeRepository = new EmployeeRepository(databaseFactory, employeeDepartmentRepository); var attendanceRepository = new AttendanceRepository(databaseFactory); var attendanceLogRepository = new AttendanceLogRepository(databaseFactory, employeeRepository); var settingRepository = new SettingRepository(databaseFactory); var employeeWorkScheduleRepository = new EmployeeWorkScheduleRepository(databaseFactory); var employeeInfoRepository = new EmployeeInfoRepository(databaseFactory); var employeeInfoService = new EmployeeInfoService(employeeInfoRepository); var attendanceLogService = new AttendanceLogService(attendanceLogRepository); var attendanceService = new AttendanceService(unitOfWork, attendanceRepository, attendanceLogService, employeeHoursRepository); var settingService = new SettingService(settingRepository); var employeeWorkScheduleService = new EmployeeWorkScheduleService(employeeWorkScheduleRepository); var employeeHoursService = new EmployeeHoursService(unitOfWork, employeeHoursRepository, attendanceService, settingService, employeeWorkScheduleService, employeeInfoService); var totalEmployeeHoursService = new TotalEmployeeHoursService(unitOfWork, totalEmployeeHoursRepository, employeeHoursService, settingService); //Delete info employeeRepository.ExecuteSqlCommand("SET FOREIGN_KEY_CHECKS = 0"); employeeRepository.ExecuteSqlCommand("TRUNCATE TABLE employee_hours"); employeeRepository.ExecuteSqlCommand("TRUNCATE TABLE employee_hours_total"); employeeRepository.ExecuteSqlCommand("TRUNCATE TABLE employee"); employeeRepository.ExecuteSqlCommand("SET FOREIGN_KEY_CHECKS = 1"); unitOfWork.Commit(); var employee1 = new Employee { EmployeeCode = "11001", FirstName = "Jona", LastName = "Pereira", MiddleName = "Aprecio", BirthDate = DateTime.Parse("02/02/1991"), Gender = 1, IsActive = true }; var employee2 = new Employee { EmployeeCode = "11001", FirstName = "Jona", LastName = "Pereira", MiddleName = "Aprecio", BirthDate = DateTime.Parse("02/02/1991"), Gender = 1, IsActive = true }; //var paymentFrequencyId = 1; var employeeInfo1 = new EmployeeInfo { Employee = employee1, SalaryFrequency = FrequencyType.Hourly, //PaymentFrequencyId = paymentFrequencyId }; var employeeInfo2 = new EmployeeInfo { Employee = employee2, SalaryFrequency = FrequencyType.Hourly, //PaymentFrequencyId = paymentFrequencyId }; employeeInfoRepository.Add(employeeInfo1); employeeInfoRepository.Add(employeeInfo2); /* "03/01/2016 - Employee 1 Regular Total hour 8 */ var employeeHours1 = new EmployeeHours { Date = DateTime.Parse("03/01/2016"), Employee = employee1, Hours = 4.1, OriginAttendanceId = 1, Type = Entities.Enums.RateType.Regular }; var employeeHours3 = new EmployeeHours { Date = DateTime.Parse("03/01/2016"), Employee = employee1, Hours = 4, OriginAttendanceId = 3, Type = Entities.Enums.RateType.Regular }; /* 03/01/2016 - Employee 1 OT Total hour 3 */ var employeeHours4 = new EmployeeHours { Date = DateTime.Parse("03/01/2016"), Employee = employee1, Hours = 3.05, OriginAttendanceId = 3, Type = Entities.Enums.RateType.OverTime }; /* 03/01/2016 - Employee 1 ND Total hour 1 */ var employeeHours5 = new EmployeeHours { Date = DateTime.Parse("03/01/2016"), Employee = employee1, Hours = 1.06, OriginAttendanceId = 3, Type = Entities.Enums.RateType.NightDifferential }; /* 03/01/2016 - Employee 2 OT Total hour 3 */ var employeeHours2 = new EmployeeHours { Date = DateTime.Parse("03/01/2016"), Employee = employee2, Hours = 3.07, OriginAttendanceId = 2, Type = Entities.Enums.RateType.OverTime }; /* 03/02/2016 - Employee 1 OT Total hour 1 */ var employeeHours8 = new EmployeeHours { Date = DateTime.Parse("03/02/2016"), Employee = employee1, Hours = 1.08, OriginAttendanceId = 5, Type = Entities.Enums.RateType.OverTime }; /* 03/02/2016 - Employee 2 Regular Total hour 4.09 */ var employeeHours6 = new EmployeeHours { Date = DateTime.Parse("03/02/2016"), Employee = employee2, Hours = 4.09, OriginAttendanceId = 4, Type = Entities.Enums.RateType.Regular }; /* 03/02/2016 - Employee 2 NightDifferential Total hour 6.5 */ var employeeHours7 = new EmployeeHours { Date = DateTime.Parse("03/02/2016"), Employee = employee2, Hours = 4, OriginAttendanceId = 4, Type = Entities.Enums.RateType.NightDifferential }; var employeeHours10 = new EmployeeHours { Date = DateTime.Parse("03/02/2016"), Employee = employee2, Hours = 2.5, OriginAttendanceId = 4, Type = Entities.Enums.RateType.NightDifferential }; /* NOT INCLUDED */ var employeeHours9 = new EmployeeHours { Date = DateTime.Parse("03/03/2016"), Employee = employee1, Hours = 10, OriginAttendanceId = 5, Type = Entities.Enums.RateType.OverTime }; employeeHoursRepository.Add(employeeHours1); employeeHoursRepository.Add(employeeHours2); employeeHoursRepository.Add(employeeHours3); employeeHoursRepository.Add(employeeHours4); employeeHoursRepository.Add(employeeHours5); employeeHoursRepository.Add(employeeHours6); employeeHoursRepository.Add(employeeHours7); employeeHoursRepository.Add(employeeHours8); employeeHoursRepository.Add(employeeHours9); employeeHoursRepository.Add(employeeHours10); //Existing total employee hours var totalEmployeeHours1 = new TotalEmployeeHours { EmployeeId = 1, Date = DateTime.Parse("03/01/2016"), Type = Entities.Enums.RateType.OverTime, Hours = 2 }; var totalEmployeeHours2 = new TotalEmployeeHours { EmployeeId = 2, Date = DateTime.Parse("03/02/2016"), Type = Entities.Enums.RateType.NightDifferential, Hours = 4 }; var totalEmployeeHours3 = new TotalEmployeeHours { EmployeeId = 2, Date = DateTime.Parse("03/01/2016"), Type = Entities.Enums.RateType.Regular, Hours = 8 }; totalEmployeeHoursRepository.Add(totalEmployeeHours1); totalEmployeeHoursRepository.Add(totalEmployeeHours2); totalEmployeeHoursRepository.Add(totalEmployeeHours3); unitOfWork.Commit(); DateTime dateFrom = DateTime.Parse("03/01/2016"); DateTime dateTo = DateTime.Parse("03/02/2016"); totalEmployeeHoursService.GenerateTotalByDateRange(dateFrom, dateTo); var totalEmployeeHours = totalEmployeeHoursService.GetByDateRange(dateFrom, dateTo); Assert.AreEqual(7, totalEmployeeHours.Count()); Assert.AreEqual(1, totalEmployeeHours[0].EmployeeId); Assert.AreEqual(DateTime.Parse("03/02/2016"), totalEmployeeHours[0].Date); Assert.AreEqual(Entities.Enums.RateType.OverTime, totalEmployeeHours[0].Type); Assert.AreEqual(1.08, totalEmployeeHours[0].Hours); Assert.AreEqual(2, totalEmployeeHours[1].EmployeeId); Assert.AreEqual(DateTime.Parse("03/02/2016"), totalEmployeeHours[1].Date); Assert.AreEqual(Entities.Enums.RateType.Regular, totalEmployeeHours[1].Type); Assert.AreEqual(4.09, totalEmployeeHours[1].Hours); Assert.AreEqual(2, totalEmployeeHours[2].EmployeeId); Assert.AreEqual(DateTime.Parse("03/02/2016"), totalEmployeeHours[2].Date); Assert.AreEqual(Entities.Enums.RateType.NightDifferential, totalEmployeeHours[2].Type); Assert.AreEqual(6.5, totalEmployeeHours[2].Hours); Assert.AreEqual(1, totalEmployeeHours[3].EmployeeId); Assert.AreEqual(DateTime.Parse("03/01/2016"), totalEmployeeHours[3].Date); Assert.AreEqual(Entities.Enums.RateType.Regular, totalEmployeeHours[3].Type); Assert.AreEqual(8.1, totalEmployeeHours[3].Hours); Assert.AreEqual(1, totalEmployeeHours[4].EmployeeId); Assert.AreEqual(DateTime.Parse("03/01/2016"), totalEmployeeHours[4].Date); Assert.AreEqual(Entities.Enums.RateType.OverTime, totalEmployeeHours[4].Type); Assert.AreEqual(3.05, totalEmployeeHours[4].Hours); Assert.AreEqual(1, totalEmployeeHours[5].EmployeeId); Assert.AreEqual(DateTime.Parse("03/01/2016"), totalEmployeeHours[5].Date); Assert.AreEqual(Entities.Enums.RateType.NightDifferential, totalEmployeeHours[5].Type); Assert.AreEqual(1.06, totalEmployeeHours[5].Hours); /*Assert.AreEqual(2, totalEmployeeHours[6].EmployeeId); * Assert.AreEqual(DateTime.Parse("03/01/2016"), totalEmployeeHours[6].Date); * Assert.AreEqual(Entities.Enums.RateType.Regular, totalEmployeeHours[6].Type); * Assert.AreEqual(8, totalEmployeeHours[6].Hours);*/ Assert.AreEqual(2, totalEmployeeHours[6].EmployeeId); Assert.AreEqual(DateTime.Parse("03/01/2016"), totalEmployeeHours[6].Date); Assert.AreEqual(Entities.Enums.RateType.OverTime, totalEmployeeHours[6].Type); Assert.AreEqual(3.07, totalEmployeeHours[6].Hours); Assert.AreEqual(true, employeeHours1.IsIncludedInTotal); Assert.AreEqual(true, employeeHours2.IsIncludedInTotal); Assert.AreEqual(true, employeeHours3.IsIncludedInTotal); Assert.AreEqual(true, employeeHours4.IsIncludedInTotal); Assert.AreEqual(true, employeeHours5.IsIncludedInTotal); Assert.AreEqual(true, employeeHours6.IsIncludedInTotal); Assert.AreEqual(true, employeeHours7.IsIncludedInTotal); Assert.AreEqual(true, employeeHours8.IsIncludedInTotal); Assert.AreEqual(false, employeeHours9.IsIncludedInTotal); }