public EmployeeService(IEmployeeRepository employeeRepository, IEmployeeParametersMapper employeeParametersMapper
     , IEmployeeContactDetailsParametersMapper contactDetailsParametersMapper
     , IUserForAuditingRepository userForAuditingRepository
     , IRegisterEmployeeAsUserParametersMapper registerEmployeeAsUserParametersMapper, ITaskService taskService
     , IPeninsulaLog log
     , IBus bus
     , IGetEmployeeNamesQuery getEmployeeNamesQuery
     , ISiteStructureElementRepository siteStructureElementRepository)
 {
     _employeeRepository = employeeRepository;
     _employeeParametersMapper = employeeParametersMapper;
     _contactDetailsParametersMapper = contactDetailsParametersMapper;
     _userForAuditingRepository = userForAuditingRepository;
     _registerEmployeeAsUserParametersMapper = registerEmployeeAsUserParametersMapper;
     _log = log;
     _taskService = taskService;
     _bus = bus;
     _getEmployeeNamesQuery = getEmployeeNamesQuery;
     _siteStructureElementRepository = siteStructureElementRepository;
 }
        public void SetUp()
        {
            _employeeRepository = new Mock<IEmployeeRepository>();
            _userRepository = new Mock<IUserForAuditingRepository>();
            _nationalityRepository = new Mock<INationalityRepository>();
            _countriesRepository = new Mock<ICountriesRepository>();
            _companyVehicleTypeRepository = new Mock<ICompanyVehicleTypeRepository>();
            _employmentStatusRepository = new Mock<IEmploymentStatusRepository>();
            _siteRepository = new Mock<ISiteRepository>();
            _log = new Mock<IPeninsulaLog>();
            _siteStructureElementRepository = new Mock<ISiteStructureElementRepository>();

            _employeeParametersMapper = new EmployeeParametersMapper(_nationalityRepository.Object,
                _companyVehicleTypeRepository.
                    Object,
                _employmentStatusRepository.
                    Object,
                _siteRepository.Object);
            _employeeContactDetailsParametersMapper = new EmployeeContactDetailsParametersMapper(_countriesRepository.Object);

            _bus = new Mock<IBus>();
            _bus.Setup(x => x.Send());

            _userRepository
                .Setup(x => x.GetByIdAndCompanyId(It.IsAny<Guid>(), It.IsAny<long>()))
                .Returns(() => new UserForAuditing());

            _siteStructureElementRepository.Setup(x => x.GetById(It.IsAny<long>()))
                .Returns<long>(id => new Site() { Id = id });

            _siteStructureElementRepository.Setup(x => x.GetByIdAndCompanyId(It.IsAny<long>(), It.IsAny<long>()))
                .Returns<long,long>((id,companyId) => new Site() { Id = id });

            _siteStructureElementRepository.Setup(x => x.GetByIdAndCompanyId(0, It.IsAny<long>()))
                .Throws(new SiteNotFoundException(0));

        }
        public void SetUp()
        {
            _employeeRepository = new Mock<IEmployeeRepository>();
            _userRepository = new Mock<IUserForAuditingRepository>();
            _nationalityRepository = new Mock<INationalityRepository>();
            _countriesRepository = new Mock<ICountriesRepository>();
            _companyVehicleTypeRepository = new Mock<ICompanyVehicleTypeRepository>();
            _employmentStatusRepository = new Mock<IEmploymentStatusRepository>();
            _siteRepository = new Mock<ISiteRepository>();
            _log = new Mock<IPeninsulaLog>();
        
            _employeeParametersMapper = new EmployeeParametersMapper(
                _nationalityRepository.Object,
                _companyVehicleTypeRepository.Object,
                _employmentStatusRepository.Object, 
                _siteRepository.Object);

            _employeeContactDetailsParametersMapper =
                new EmployeeContactDetailsParametersMapper(_countriesRepository.Object);
            

            
            ObjectFactory.Inject<IPeninsulaLog>(new StubPeninsulaLog());
        }