public void Initialize()
        {
            //Arrange
            var databaseFactory = new DatabaseFactory();

            _unitOfWork = new UnitOfWork(databaseFactory);

            _settingRepository                  = new SettingRepository(databaseFactory);
            _employeeInfoRepository             = new EmployeeInfoRepository(databaseFactory);
            _employeeDeductionRepository        = new EmployeeDeductionRepository(databaseFactory);
            _deductionRepository                = new DeductionRepository(databaseFactory);
            _employeePayrollRepository          = new EmployeePayrollRepository(databaseFactory);
            _employeePayrollDeductionRepository = new EmployeePayrollDeductionRepository(databaseFactory);
            _taxRepository = new TaxRepository(databaseFactory);
            _totalEmployeeHoursRepository = new TotalEmployeeHoursRepository(databaseFactory);

            _settingService            = new SettingService(_settingRepository);
            _employeeSalaryService     = new EmployeeSalaryService();
            _employeeInfoService       = new EmployeeInfoService(_employeeInfoRepository);
            _employeeDeductionService  = new EmployeeDeductionService(_employeeDeductionRepository);
            _deductionService          = new DeductionService(_deductionRepository);
            _totalEmployeeHoursService = new TotalEmployeeHoursService(_unitOfWork, _totalEmployeeHoursRepository, null, _settingService);

            _taxService = new TaxService(_taxRepository);

            _employeePayrollDeductionService = new EmployeePayrollDeductionService(_unitOfWork, _settingService, _employeeSalaryService, _employeeInfoService, _employeeDeductionService, _deductionService, _employeePayrollDeductionRepository, _taxService);
        }
        public void Initialize()
        {
            //Arrange
            var databaseFactory = new DatabaseFactory();

            _unitOfWork = new UnitOfWork(databaseFactory);

            _employeeWorkScheduleRepository = new EmployeeWorkScheduleRepository(databaseFactory);
            _employeeDailyPayrollRepository = new EmployeeDailyPayrollRepository(databaseFactory);
            _totalEmployeeHoursRepository   = new TotalEmployeeHoursRepository(databaseFactory);
            _employeeWorkScheduleRepository = new EmployeeWorkScheduleRepository(databaseFactory);
            _holidayRepository       = new HolidayRepository(databaseFactory);
            _employeeInfoRepository  = new EmployeeInfoRepository(databaseFactory);
            _employeeHoursRepository = new EmployeeHoursRepository(databaseFactory);
            _settingRepository       = new SettingRepository(databaseFactory);

            _totalEmployeeHoursService = new TotalEmployeeHoursService(_unitOfWork, _totalEmployeeHoursRepository, null, _settingService);

            _employeeWorkScheduleService = new EmployeeWorkScheduleService(_employeeWorkScheduleRepository);
            _holidayService        = new HolidayService(_holidayRepository, _settingRepository, _unitOfWork);
            _settingService        = new SettingService(_settingRepository);
            _employeeInfoService   = new EmployeeInfoService(_employeeInfoRepository);
            _employeeSalaryService = new EmployeeSalaryService();

            _employeeDailyPayrollService = new EmployeeDailyPayrollService(_unitOfWork, _totalEmployeeHoursService,
                                                                           _employeeWorkScheduleService, _holidayService, _settingService, _employeeDailyPayrollRepository, _employeeInfoService, _employeeSalaryService);
        }
Example #3
0
 public TotalEmployeeHoursService(IUnitOfWork unitOfWork,
                                  ITotalEmployeeHoursRepository totalEmployeeHoursRepository,
                                  IEmployeeHoursService employeeHoursService,
                                  ISettingService settingService)
 {
     _unitOfWork = unitOfWork;
     _totalEmployeeHoursRepository = totalEmployeeHoursRepository;
     _employeeHoursService         = employeeHoursService;
     _settingService = settingService;
 }
        public void Initialize()
        {
            //Arrange
            var databaseFactory = new DatabaseFactory();

            _unitOfWork = new UnitOfWork(databaseFactory);

            _employeeDailyPayrollRepository = new EmployeeDailyPayrollRepository(databaseFactory);
            _employeePayrollRepository      = new EmployeePayrollRepository(databaseFactory);
            _settingRepository = new SettingRepository(databaseFactory);
            _employeePayrollDeductionRepository = new EmployeePayrollDeductionRepository(databaseFactory);
            _employeeInfoRepository             = new EmployeeInfoRepository(databaseFactory);
            _totalEmployeeHoursRepository       = new TotalEmployeeHoursRepository(databaseFactory);
            _deductionRepository         = new DeductionRepository(databaseFactory);
            _employeeDeductionRepository = new EmployeeDeductionRepository(databaseFactory);
            _taxRepository                 = new TaxRepository(databaseFactory);
            _employeeRepository            = new EmployeeRepository(databaseFactory, null);
            _employeePayrollItemRepository = new EmployeePayrollItemRepository(databaseFactory);
            _employeeAdjustmentRepository  = new EmployeeAdjustmentRepository(databaseFactory);

            _settingService = new SettingService(_settingRepository);
            _employeeDailyPayrollService = new EmployeeDailyPayrollService(_unitOfWork,
                                                                           null, null, null, null, _employeeDailyPayrollRepository, null, null);
            _employeeInfoService      = new EmployeeInfoService(_employeeInfoRepository);
            _deductionService         = new DeductionService(_deductionRepository);
            _employeeDeductionService = new EmployeeDeductionService(_employeeDeductionRepository);
            _taxService = new TaxService(_taxRepository);
            _employeePayrollDeductionService = new EmployeePayrollDeductionService(_unitOfWork, _settingService, null, _employeeInfoService, _employeeDeductionService, _deductionService, _employeePayrollDeductionRepository, _taxService);
            _employeeService                 = new EmployeeService(_employeeRepository);
            _totalEmployeeHoursService       = new TotalEmployeeHoursService(_unitOfWork, _totalEmployeeHoursRepository, null, _settingService);
            _employeePayrollItemService      = new EmployeePayrollItemService(_unitOfWork, _employeePayrollItemRepository, null, null, null, null, null, null, null, null, null, null, null);
            _employeeAdjusmentService        = new EmployeeAdjustmentService(_employeeAdjustmentRepository, _employeeRepository);
            _employeePayrollAllowanceService = new EmployeePayrollAllowanceService(_settingService, _totalEmployeeHoursService);
            _employeePayrollService          = new EmployeePayrollService(_unitOfWork, _employeePayrollRepository, _settingService, _employeePayrollDeductionService, _employeeInfoService, _totalEmployeeHoursService, _employeeService, _totalEmployeeHoursService, _employeePayrollItemService, _employeeAdjusmentService, _employeePayrollAllowanceService);

            //Update settings
            var settingsPayrollStartDate = _settingRepository.GetSettingByKey("PAYROLL_WEEK_START");

            _settingRepository.Update(settingsPayrollStartDate);
            settingsPayrollStartDate.Value = "3";

            var settingsPayrollEndDate = _settingRepository.GetSettingByKey("PAYROLL_WEEK_END");

            _settingRepository.Update(settingsPayrollEndDate);
            settingsPayrollEndDate.Value = "2";

            var settingsPayrollReleaseDate = _settingRepository.GetSettingByKey("PAYROLL_WEEK_RELEASE");

            _settingRepository.Update(settingsPayrollReleaseDate);
            settingsPayrollReleaseDate.Value = "3";

            _unitOfWork.Commit();
        }
        public EmployeePayrollSchedule()
        {
            _employeeDepartmentRepository       = new EmployeeDepartmentRepository(_databaseFactory);
            _employeeRepository                 = new EmployeeRepository(_databaseFactory, _employeeDepartmentRepository);
            _attendanceRepository               = new AttendanceRepository(_databaseFactory);
            _attendanceLogRepository            = new AttendanceLogRepository(_databaseFactory, _employeeRepository);
            _settingRepository                  = new SettingRepository(_databaseFactory);
            _employeeWorkScheduleRepository     = new EmployeeWorkScheduleRepository(_databaseFactory);
            _employeeInfoRepository             = new EmployeeInfoRepository(_databaseFactory);
            _frequencyRepository                = new FrequencyRepository(_databaseFactory);
            _paymentFrequencyRepository         = new PaymentFrequencyRepository(_databaseFactory);
            _employeePayrollRepository          = new EmployeePayrollRepository(_databaseFactory);
            _employeePayrollDeductionRepository = new EmployeePayrollDeductionRepository(_databaseFactory);
            _employeeDailyPayrollRepository     = new EmployeeDailyPayrollRepository(_databaseFactory);
            _employeeHoursRepository            = new EmployeeHoursRepository(_databaseFactory);
            _totalEmployeeHoursRepository       = new TotalEmployeeHoursRepository(_databaseFactory);
            _holidayRepository                  = new HolidayRepository(_databaseFactory);
            _employeeDeductionRepository        = new EmployeeDeductionRepository(_databaseFactory);
            _deductionRepository                = new DeductionRepository(_databaseFactory);
            _employeePayrollItemRepository      = new EmployeePayrollItemRepository(_databaseFactory);
            _employeeAdjustmentRepository       = new EmployeeAdjustmentRepository(_databaseFactory);
            _adjustmentRepository               = new AdjustmentRepository(_databaseFactory);

            _employeeService             = new EmployeeService(_employeeRepository);
            _employeeInfoService         = new EmployeeInfoService(_employeeInfoRepository);
            _attendanceLogService        = new AttendanceLogService(_attendanceLogRepository);
            _attendanceService           = new AttendanceService(_unitOfWork, _attendanceRepository, _attendanceLogService, _employeeHoursRepository);
            _settingService              = new SettingService(_settingRepository);
            _employeeWorkScheduleService = new EmployeeWorkScheduleService(_employeeWorkScheduleRepository);
            _employeeSalaryService       = new EmployeeSalaryService();
            _employeeHoursService        = new EmployeeHoursService(_unitOfWork, _employeeHoursRepository,
                                                                    _attendanceService, _settingService, _employeeWorkScheduleService, _employeeInfoService);
            _totalEmployeeHoursService   = new TotalEmployeeHoursService(_unitOfWork, _totalEmployeeHoursRepository, _employeeHoursService, _settingService);
            _holidayService              = new HolidayService(_holidayRepository, _settingRepository, _unitOfWork);
            _employeeDailyPayrollService = new EmployeeDailyPayrollService(_unitOfWork, _totalEmployeeHoursService, _employeeWorkScheduleService, _holidayService,
                                                                           _settingService, _employeeDailyPayrollRepository, _employeeInfoService, _employeeSalaryService);
            _deductionService = new DeductionService(_deductionRepository);
            _taxService       = new TaxService(_taxRepository);
            _employeePayrollDeductionService = new EmployeePayrollDeductionService(_unitOfWork, _settingService, _employeeSalaryService, _employeeInfoService, _employeeDeductionService, _deductionService, _employeePayrollDeductionRepository, _taxService);
            _employeePayrollItemService      = new EmployeePayrollItemService(_unitOfWork, _employeePayrollItemRepository, _totalEmployeeHoursService, _employeeWorkScheduleService, _holidayService, _settingService, _employeeInfoService, _employeeSalaryService, _employeePayrollRepository, _employeePayrollDeductionRepository, _employeeAdjustmentRepository, _adjustmentRepository);
            _employeeAdjusmentService        = new EmployeeAdjustmentService(_employeeAdjustmentRepository, _employeeRepository);
            _employeePayrollService          = new EmployeePayrollService(_unitOfWork, _employeePayrollRepository, _settingService, null, _employeeInfoService, null, _employeeService, _totalEmployeeHoursService, _employeePayrollItemService, _employeeAdjusmentService);
        }