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 EmployeePayrollService(IUnitOfWork unitOfWork, IEmployeePayrollRepository employeeePayrollRepository, ISettingService settingService, IEmployeePayrollDeductionService employeePayrollDeductionService,
                                      IEmployeeInfoService employeeInfoService, ITotalEmployeeHoursService totalEmployeeHourService, IEmployeeService employeeService, ITotalEmployeeHoursService totalEmployeeHoursService,
                                      IEmployeePayrollItemService employeePayrollItemService, IEmployeeAdjustmentService employeeAdjustmentService, IEmployeePayrollAllowanceService employeePayrollAllowanceService)
        {
            _unitOfWork = unitOfWork;
            _employeePayrollRepository       = employeeePayrollRepository;
            _settingService                  = settingService;
            _employeePayrollDeductionService = employeePayrollDeductionService;
            _employeeInfoService             = employeeInfoService;
            _totalEmployeeHourService        = totalEmployeeHourService;
            _employeeService                 = employeeService;
            _totalEmployeeHoursService       = totalEmployeeHoursService;
            _employeePayrollItemService      = employeePayrollItemService;
            _employeeAdjustmentService       = employeeAdjustmentService;
            _employeePayrollAllowanceService = employeePayrollAllowanceService;

            _frequency = (FrequencyType)Convert
                         .ToInt32(_settingService.GetByKey(PAYROLL_FREQUENCY));
        }
        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);
        }
Example #4
0
 public PayrollController(IWebService webService, IUnitOfWork unitOfWork,
                          IEmployeePayrollService employeePayrollService,
                          ITotalEmployeeHoursService totalEmployeeHoursService, IEmployeeHoursService employeeHoursService,
                          IAttendanceService attendanceService, IEmployeePayrollItemService employeePayrollItemService,
                          IAdjustmentRepository adjustmentRepository, IEmployeeAdjustmentRepository employeeAdjustmentRepository,
                          IEmployeeAdjustmentService employeeAdjustmentService, IEmployeeRepository employeeRepository, IEmployeePayrollDeductionService employeePayrollDeductionService)
 {
     _webService                      = webService;
     _unitOfWork                      = unitOfWork;
     _employeePayrollService          = employeePayrollService;
     _totalEmployeeHoursService       = totalEmployeeHoursService;
     _employeeHoursService            = employeeHoursService;
     _attendanceService               = attendanceService;
     _employeePayrollItemservice      = employeePayrollItemService;
     _adjustmentRepository            = adjustmentRepository;
     _employeeAdjustmentRepository    = employeeAdjustmentRepository;
     _employeeAdjustmentService       = employeeAdjustmentService;
     _employeeRepository              = employeeRepository;
     _employeePayrollDeductionService = employeePayrollDeductionService;
 }