public async Task <IActionResult> OnGetAsync()
        {
            TbServicesWithCaseManagers =
                (await _referenceDataRepository.GetTbServicesWithCaseManagersFromPhecCodeAsync(PhecCode))
                .ToDictionary(
                    service => service,
                    service => service.CaseManagerTbServices
                    .Select(c => c.CaseManager)
                    .Where(cm => cm.IsActive)
                    .OrderBy(cm => cm.DisplayName)
                    .ToList()
                    );

            var tbServices = TbServicesWithCaseManagers.Keys.ToList().Select(k => k.Code);

            TbServicesWithHospitalNames = (await _referenceDataRepository.GetHospitalsByTbServiceCodesAsync(tbServices))
                                          .Where(h => !h.IsLegacy)
                                          .GroupBy(h => h.TBService)
                                          .ToDictionary(
                group => group.Key,
                group => group.Select(h => h.Name).ToList());

            Phec = await _referenceDataRepository.GetPhecByCode(PhecCode);

            RegionalCaseManagers = await _referenceDataRepository.GetActiveUsersByPhecAdGroup(Phec.AdGroup);

            PrepareBreadcrumbs();

            return(Page());
        }
예제 #2
0
        public UserRepositoryTests(RepositoryFixture <UserRepository> userRepositoryFixture)
        {
            ContextHelper.DisableAudits();
            _context        = userRepositoryFixture.Context;
            _contextOptions = userRepositoryFixture.ContextOptions;

            var optionsMonitor = new Mock <IOptionsMonitor <AdOptions> >();

            optionsMonitor.Setup(om => om.CurrentValue).Returns(new AdOptions {
                ReadOnlyUserGroup = "ReadOnly"
            });
            _userRepo = new UserRepository(_context, optionsMonitor.Object);

            var phec = new PHEC {
                Code = "E45000001", Name = "London"
            };

            _tbService1 = new TBService {
                Code = "TBS0001", IsLegacy = false, PHECCode = "E45000001"
            };
            _tbService2 = new TBService {
                Code = "TBS0002", IsLegacy = false, PHECCode = "E45000001"
            };
            _context.PHEC.Add(phec);
            _context.TbService.AddRange(_tbService1, _tbService2);
            _context.SaveChanges();
        }
예제 #3
0
        public async Task <IActionResult> OnGetAsync()
        {
            TbServicesWithCaseManagers =
                (await _referenceDataRepository.GetTbServicesWithCaseManagersFromPhecCodeAsync(PhecCode))
                .ToDictionary(
                    service => service,
                    service => service.CaseManagerTbServices
                    .Select(c => c.CaseManager)
                    .OrderBy(c => c.FamilyName)
                    .ToList()
                    );

            Phec = await _referenceDataRepository.GetPhecByCode(PhecCode);

            PrepareBreadcrumbs();

            return(Page());
        }
        public async Task SearchWithTwoKeywords_DoesNotReturnRegionalUsersWhereBothKeywordsInRegion()
        {
            // Arrange
            var searchStrings = SearchStringHelper.GetSearchKeywords("North West");
            var southWest     = new PHEC {
                Code = "P1", Name = "South West", AdGroup = "SW"
            };
            var northWest = new PHEC {
                Code = "P2", Name = "North West", AdGroup = "NW"
            };
            var burnley = new TBService {
                Code = "TB2", Name = "Burnley", PHEC = northWest, PHECCode = northWest.Code
            };
            var caseManagers = new List <User>
            {
                CreateDefaultCaseManager(
                    displayName: "Bar Foo",
                    caseManagerTbServices: new List <CaseManagerTbService>
                {
                    new CaseManagerTbService {
                        TbService = burnley, TbServiceCode = burnley.Code
                    }
                }),
                CreateRegionalUser(northWest.AdGroup, "Foo Bar"),
                CreateRegionalUser(southWest.AdGroup, "Boo Far")
            };

            _mockReferenceDataRepository.Setup(r => r.GetAllPhecs())
            .ReturnsAsync(new List <PHEC> {
                southWest, northWest
            });
            _mockUserRepository.Setup(u => u.GetOrderedUsers()).ReturnsAsync(caseManagers);

            // Act
            var results = await _service.OrderQueryableAsync(searchStrings);

            // Assert
            Assert.Empty(results);
        }
 public ServiceDirectoryItemWrapper(PHEC region)
 {
     Region = region;
 }