public void Setup()
        {
            LogHelper.ConfigureConsoleLogger();

            _department = new Department
            {
                Name = "Department",
                Id   = Guid.NewGuid()
            };
            _departmentRepo = Substitute.For <IGuidKeyedRepository <Department> >();

            _branch = new BranchOffice
            {
                Name = "Branch Office",
                Id   = Guid.NewGuid()
            };
            _branchRepo = Substitute.For <IGuidKeyedRepository <BranchOffice> >();

            _position = new Position
            {
                Name = "Position",
                Id   = Guid.NewGuid()
            };
            _positionRepo = Substitute.For <IGuidKeyedRepository <Position> >();
        }
예제 #2
0
 public UserService(IGuidKeyedRepository<User> userRepository,
     ICurrentUserNameProvider currentUserIdProvider,
     INewService newService)
 {
     this.userRepository = userRepository;
     this.currentUserNameProvider = currentUserIdProvider;
     this.newService = newService;
 }
 public InspectionCompletionHandler(IServiceProvider services,
                                    IGuidKeyedRepository <Inspection> inspectionRepo,
                                    ILogger <InspectionCompletionHandler> logger
                                    )
 {
     _inspectionRepo = inspectionRepo;
     _services       = services;
     _logger         = logger;
 }
예제 #4
0
 public NewService(IGuidKeyedRepository<New> newRepository,
                 ICurrentUserProvider currentUserProvider,
                 ICurrentUserNameProvider currentUserNameProvider,
                 IGuidKeyedRepository<User> userRepository)
 {
     this.newRepository = newRepository;
     this.currentUserNameProvider = currentUserNameProvider;
     this.userRepository = userRepository;
 }
 public BranchOfficeService(
     ITenantEntityAccessChecker tenantAccessChecker,
     IAccessScopeFilter tenantContext,
     IGuidKeyedRepository <BranchOffice> repository,
     ILogger <BranchOfficeService> logger
     )
     : base(tenantAccessChecker, tenantContext, repository, logger)
 {
 }
예제 #6
0
 public TenantService(
     ITenantAccessChecker tenantAccessChecker,
     IAccessScopeFilter tenantContext,
     IGuidKeyedRepository <Tenant> repository,
     ILogger <TenantService> logger,
     ITenantSlugProvider slugProvider
     )
     : base(tenantAccessChecker, tenantContext, repository, logger)
 {
 }
예제 #7
0
 public static async Task ValidateRequiredEntityReference <TParent, TChild>(
     TParent referringEntity, IGuidKeyedRepository <TChild> referenceRepository, Guid childId)
     where TParent : IGuidIdentity, ITenantEntity where TChild : class, IGuidIdentity, ITenantEntity
 {
     if (childId == Guid.Empty)
     {
         throw GetMissingRequiredReferenceException <TParent, TChild>(referringEntity, childId);
     }
     await ValidateOptionalEntityReference(referringEntity, referenceRepository, childId);
 }
 internal InspectionServiceImpl(
     IAccessChecker tenantAccessChecker,
     IAccessScopeFilter tenantContext,
     IGuidKeyedRepository <Inspection> repository,
     IGuidKeyedRepository <Employee> employeeRepository,
     ILogger <BaseService <Inspection> > logger)
     : base(tenantAccessChecker, tenantContext, repository, logger)
 {
     _employeeRepository = employeeRepository;
 }
예제 #9
0
 public TestServiceImpl(
     ITenantEntityAccessChecker tenantAccessChecker,
     IAccessScopeFilter tenantContext,
     IGuidKeyedRepository <Test> repository,
     IGuidKeyedRepository <Inspection> inspectionRepository,
     ILogger <TestServiceImpl> logger)
     : base(tenantAccessChecker, tenantContext, repository, logger)
 {
     _inspectionRepository = inspectionRepository;
 }
예제 #10
0
 public BaseService(
     IAccessChecker tenantAccessChecker,
     IAccessScopeFilter tenantContext,
     IGuidKeyedRepository <TEntity> repository,
     ILogger <BaseService <TEntity> > logger)
 {
     _logger              = logger;
     Repository           = repository;
     _tenantAccessChecker = tenantAccessChecker;
     _tenantContext       = tenantContext;
 }
예제 #11
0
 private ITestService GetTestServiceInstance(
     IGuidKeyedRepository <Test> repository,
     IGuidKeyedRepository <Inspection> inspectionRepo)
 {
     return(new TestService(
                Substitute.For <ITenantEntityAccessChecker>(),
                Substitute.For <IAccessScopeFilter>(),
                repository,
                inspectionRepo,
                Substitute.For <ILoggerFactory>()));
 }
예제 #12
0
 public TestService(
     ITenantEntityAccessChecker tenantAccessChecker,
     IAccessScopeFilter tenantContext,
     IGuidKeyedRepository <Test> repository,
     IGuidKeyedRepository <Inspection> inspectionRepository,
     ILoggerFactory logFactory)
 {
     _serviceImpl          = new TestServiceImpl(tenantAccessChecker, tenantContext, repository, inspectionRepository, logFactory.CreateLogger <TestServiceImpl>());
     _repository           = repository;
     _inspectionRepository = inspectionRepository;
 }
예제 #13
0
 public PositionService(
     IGuidKeyedRepository <BranchOffice> branchOfficeRepository,
     ITenantEntityAccessChecker tenantAccessChecker,
     IAccessScopeFilter tenantContext,
     IGuidKeyedRepository <Position> repository,
     ILogger <PositionService> logger
     )
     : base(tenantAccessChecker, tenantContext, repository, logger)
 {
     // this is needed for validation of Position model
     _branchOfficeRepository = branchOfficeRepository;
 }
        public void Setup()
        {
            LogHelper.ConfigureConsoleLogger();

            _repository       = Substitute.For <IGuidKeyedRepository <BranchOffice> >();
            _serviceUnderTest = new BranchOfficeService(
                Substitute.For <ITenantEntityAccessChecker>(),
                Substitute.For <IAccessScopeFilter>(),
                _repository,
                Substitute.For <ILogger <BranchOfficeService> >()
                );
        }
 private IInspectionService GetServiceInstance(
     IGuidKeyedRepository <Inspection> repository,
     IGuidKeyedRepository <Test> testRepository,
     IGuidKeyedRepository <Employee> employeeRepository)
 {
     return(new InspectionService(
                Substitute.For <ITenantEntityAccessChecker>(),
                Substitute.For <IAccessScopeFilter>(),
                repository,
                testRepository,
                employeeRepository,
                Substitute.For <IInspectionCompletionEventHandler>(),
                Substitute.For <ILoggerFactory>()));
 }
예제 #16
0
 private IEmployeeService GetEmployeeService(
     IGuidKeyedRepository <BranchOffice> branchRepo, IGuidKeyedRepository <Department> deptRepo, IGuidKeyedRepository <Employee> repository,
     IGuidKeyedRepository <Position> positionRepo)
 {
     return(new EmployeeService(
                branchRepo,
                deptRepo,
                positionRepo,
                Substitute.For <ITenantEntityAccessChecker>(),
                Substitute.For <IAccessScopeFilter>(),
                repository,
                Substitute.For <ILogger <EmployeeService> >()
                ));
 }
예제 #17
0
 public InspectionService(
     ITenantEntityAccessChecker tenantAccessChecker,
     IAccessScopeFilter tenantContext,
     IGuidKeyedRepository <Inspection> repository,
     IGuidKeyedRepository <Test> testRepository,
     IGuidKeyedRepository <Employee> employeeRepository,
     IInspectionCompletionEventHandler completionHandler,
     ILoggerFactory loggerFactory)
 {
     _serviceImpl = new InspectionServiceImpl(
         tenantAccessChecker, tenantContext, repository, employeeRepository, loggerFactory.CreateLogger <BaseService <Inspection> >());
     _completionHandler = completionHandler;
     _repository        = repository;
     _testRepository    = testRepository;
 }
예제 #18
0
 public EmployeeService(
     IGuidKeyedRepository <BranchOffice> branchOfficeRepository,
     IGuidKeyedRepository <Department> departmentRepository,
     IGuidKeyedRepository <Position> positionRepository,
     ITenantEntityAccessChecker tenantAccessChecker,
     IAccessScopeFilter tenantContext,
     IGuidKeyedRepository <Employee> repository,
     ILogger <EmployeeService> logger
     )
     : base(tenantAccessChecker, tenantContext, repository, logger)
 {
     // this is needed for validation of Position model
     _branchOfficeRepository = branchOfficeRepository;
     _positionRepository     = positionRepository;
     _departmentRepository   = departmentRepository;
 }
        public void Setup()
        {
            LogHelper.ConfigureConsoleLogger();

            _branch = new BranchOffice
            {
                Name = "Branch Office",
                Id   = Guid.NewGuid()
            };
            _branchOfficeRepository = Substitute.For <IGuidKeyedRepository <BranchOffice> >();
            _deptRepo = Substitute.For <IGuidKeyedRepository <Department> >();
            _deptRepo.Query().Returns((new Department[0]).AsEntityAsyncQueryable());

            _serviceUnderTest = new DepartmentService(
                _branchOfficeRepository,
                Substitute.For <ITenantEntityAccessChecker>(),
                Substitute.For <IAccessScopeFilter>(),
                _deptRepo,
                Substitute.For <ILogger <DepartmentService> >()
                );
        }
예제 #20
0
        public void Setup()
        {
            LogHelper.ConfigureConsoleLogger();

            _branchOfficeRepo = Substitute.For <IGuidKeyedRepository <BranchOffice> >();
            _branch           = new BranchOffice
            {
                Name = "Branch office",
                Id   = Guid.NewGuid()
            };
            _branchOfficeRepo.SetupRepositoryWithEntity(_branch);

            _repository = Substitute.For <IGuidKeyedRepository <Position> >();
            _repository.Query().Returns((new Position[0]).AsEntityAsyncQueryable());
            _serviceUnderTest = new PositionService(
                _branchOfficeRepo,
                Substitute.For <ITenantEntityAccessChecker>(),
                Substitute.For <IAccessScopeFilter>(),
                _repository,
                Substitute.For <ILogger <PositionService> >()
                );
        }
예제 #21
0
        public static async Task ValidateOptionalEntityReference <TParent, TChild>(
            TParent referringEntity, IGuidKeyedRepository <TChild> referenceRepository, Guid childId)
            where TParent : IGuidIdentity, ITenantEntity where TChild : class, IGuidIdentity, ITenantEntity
        {
            if (childId == Guid.Empty)
            {
                return;
            }

            var child = await referenceRepository.GetAsync(childId);

            if (child == null || child.TenantId != referringEntity.TenantId)
            {
                throw GetModelValidationException <TParent, TChild>(referringEntity, childId);
            }
            //catch (UnauthorizedAccessException ex)
            //{
            //  throw GetModelValidationException<TParent, TChild>(referringEntity, childId, ex);
            //}
            //catch (ItemNotFoundException ex)
            //{
            //  throw GetModelValidationException<TParent, TChild>(referringEntity, childId, ex);
            //}
        }
예제 #22
0
 public CurrentUserProvider(IGuidKeyedRepository<User> userRepository)
 {
     this.userRepository = userRepository;
 }