Exemplo n.º 1
0
        public Employee(IPayDayScheduler dayScheduler, IPayCalculator payCalculator)
        {
            DayScheduler  = dayScheduler;
            PayCalculator = payCalculator;

            _WorkedHours     = new List <WorkedTime>();
            _SoldCommissions = new List <SoldCommision>();
        }
Exemplo n.º 2
0
 public HRFacadeSimple(IEmployeeRepository employeeRepository, IWorkSheetRepository workSheetRepository,
                       IHRFactory factory, IPayCalculator payCalculator)
 {
     this.employeeRepository  = employeeRepository;
     this.workSheetRepository = workSheetRepository;
     this.factory             = factory;
     this.payCalculator       = payCalculator;
 }
Exemplo n.º 3
0
 public HRFacadeWithNotification(IEmployeeRepository employeeRepository, IWorkSheetRepository workSheetRepository,
                                 IHRFactory factory, IPayCalculator payCalculator, ISendMail mailSender)
 {
     this.employeeRepository  = employeeRepository;
     this.workSheetRepository = workSheetRepository;
     this.factory             = factory;
     this.payCalculator       = payCalculator;
     this.mailSender          = mailSender;
 }
Exemplo n.º 4
0
        public EmployeeFacade(Employee employee)
        {
            _employee = employee;

            /**
             * Используем "Стратегию" для применения SRP
             *
             * За различные обязанности, отвечают разные классы.
             * Изменение в одном из них, не повредит работе другого.
             *
             * P.S.
             * Для тех, кто в теме - тут можно (нужно) использовать Dependency Injection
             */
            _reporter      = new RegularReporter(employee);
            _payCalculator = new ExtraPayCalculator(employee);
        }
Exemplo n.º 5
0
 public CFO(IPayCalculator payCalculator)
 {
     this.payCalculator = payCalculator;
 }
Exemplo n.º 6
0
 public PayslipGenerator(IPayCalculator payCalculator, ITaxTable taxTable)
 {
     _payCalculator = payCalculator;
     _taxTable      = taxTable;
 }