private void SetupSut(
            IReadOnlyDictionary <int, IEnumerable <OrganizationRole> > roleMap = null,
            IReadOnlyDictionary <int, OrganizationCategory> categoryMap        = null,
            bool isStakeHolder = true)
        {
            _userId = A <int>();
            _municipalityOrganizationId = A <int>();
            _otherOrgTypeOrganizationId = _municipalityOrganizationId + 1;
            _unknownOrganizationId      = _otherOrgTypeOrganizationId + 1;
            _rolesPerOrganizationId     = roleMap ?? new Dictionary <int, IEnumerable <OrganizationRole> >
            {
                { _municipalityOrganizationId, A <IEnumerable <OrganizationRole> >() },
                { _otherOrgTypeOrganizationId, A <IEnumerable <OrganizationRole> >() }
            }.AsReadOnly();

            _categoryPerOrganizationId = categoryMap ?? new Dictionary <int, OrganizationCategory>
            {
                { _municipalityOrganizationId, OrganizationCategory.Municipality },
                { _otherOrgTypeOrganizationId, OrganizationCategory.Other }
            }.AsReadOnly();

            _sut = new OrganizationalUserContext(
                _userId,
                _rolesPerOrganizationId,
                _categoryPerOrganizationId,
                isStakeHolder
                );
        }
Example #2
0
 public IQueryable <Advice> GetAdvicesAccessibleToCurrentUser()
 {
     return(OrganizationalUserContext.IsGlobalAdmin()
         ? AdviceRepository.AsQueryable()
         : OrganizationalUserContext
            .OrganizationIds
            .Select(GetAdvicesForOrg)
            .Aggregate <IQueryable <Advice>, IQueryable <Advice> >
            (
                null,
                (acc, next) => acc == null ? next : acc.Concat(next)
            ));
 }