Ejemplo n.º 1
0
        public IActionResult Index()
        {
            var centreId = User.GetCentreId();

            var centreDetails = centresDataService.GetCentreDetailsById(centreId) !;

            var model = new CentreConfigurationViewModel(centreDetails);

            return(View("Index", model));
        }
Ejemplo n.º 2
0
        public void GetPreviewCertificateForCentre_returns_null_when_data_service_returns_null()
        {
            // Given
            const int centreId = 2;

            A.CallTo(() => centresDataService.GetCentreDetailsById(centreId)).Returns(null);

            // When
            var result = certificateService.GetPreviewCertificateForCentre(centreId);

            // Then
            result.Should().BeNull();
        }
        public void GetDashboardInformationForCentre_returns_null_with_null_centre()
        {
            // Given
            A.CallTo(() => centresDataService.GetCentreDetailsById(CentreId)).Returns(null);
            A.CallTo(() => userDataService.GetAdminUserById(AdminId))
            .Returns(UserTestHelper.GetDefaultAdminUser(AdminId));

            // When
            var result = dashboardInformationService.GetDashboardInformationForCentre(CentreId, AdminId);

            // Then
            result.Should().BeNull();
        }
        private void SendDelegateApprovalEmails(params DelegateUser[] delegateUsers)
        {
            var approvalEmails = new List <Email>();

            foreach (var delegateUser in delegateUsers)
            {
                if (string.IsNullOrWhiteSpace(delegateUser.EmailAddress))
                {
                    LogNoEmailWarning(delegateUser.Id);
                }
                else
                {
                    var centreInformationUrl =
                        centresDataService.GetCentreDetailsById(delegateUser.CentreId)?.ShowOnMap == true
                            ? FindCentreUrl + $"?centreId={delegateUser.CentreId}"
                            : null;
                    var delegateApprovalEmail = GenerateDelegateApprovalEmail(
                        delegateUser.CandidateNumber,
                        delegateUser.EmailAddress,
                        LoginUrl,
                        centreInformationUrl
                        );
                    approvalEmails.Add(delegateApprovalEmail);
                }
            }

            emailService.SendEmails(approvalEmails);
        }
Ejemplo n.º 5
0
        public CentreContractAdminUsage GetCentreAdministratorNumbers(int centreId)
        {
            var centreDetails      = centresDataService.GetCentreDetailsById(centreId) !;
            var adminUsersAtCentre = userDataService.GetAdminUsersByCentreId(centreId);

            return(new CentreContractAdminUsage(centreDetails, adminUsersAtCentre));
        }
Ejemplo n.º 6
0
        public IActionResult Index()
        {
            var centreId           = User.GetCentreId();
            var centreDetails      = centresDataService.GetCentreDetailsById(centreId) !;
            var adminUsersAtCentre = userDataService.GetAdminUsersByCentreId(centreId);
            var numberOfCourses    = courseDataService.GetNumberOfActiveCoursesAtCentreFilteredByCategory(centreId, null);

            var model = new ContractDetailsViewModel(adminUsersAtCentre, centreDetails, numberOfCourses);

            return(View(model));
        }
Ejemplo n.º 7
0
        public CertificateInformation?GetPreviewCertificateForCentre(int centreId)
        {
            var centreDetails = centresDataService.GetCentreDetailsById(centreId);

            if (centreDetails == null)
            {
                return(null);
            }

            return(new CertificateInformation(
                       centreDetails,
                       "Joseph",
                       "Bloggs",
                       "Level 2 - ITSP Course Name",
                       new DateTime(2014, 04, 01),
                       "Passing online Digital Learning Solutions post learning assessments"
                       ));
        }
Ejemplo n.º 8
0
        public IActionResult Index()
        {
            var adminId = User.GetAdminId() !.Value;
            var unacknowledgedNotifications =
                systemNotificationsDataService.GetUnacknowledgedSystemNotifications(adminId).ToList();

            if (!Request.Cookies.HasSkippedNotificationsCookie(adminId) && unacknowledgedNotifications.Any())
            {
                return(RedirectToAction("Index", "SystemNotifications"));
            }

            var adminUser     = userDataService.GetAdminUserById(adminId) !;
            var centreId      = User.GetCentreId();
            var centre        = centresDataService.GetCentreDetailsById(centreId) !;
            var delegateCount = userDataService.GetNumberOfApprovedDelegatesAtCentre(centreId);
            var courseCount   =
                courseDataService.GetNumberOfActiveCoursesAtCentreFilteredByCategory(
                    centreId,
                    adminUser.CategoryIdFilter
                    );
            var adminCount         = userDataService.GetNumberOfActiveAdminsAtCentre(centreId);
            var supportTicketCount = ticketDataService.GetNumberOfUnarchivedTicketsForCentreId(centreId);
            var centreRank         = centresService.GetCentreRankForCentre(centreId);

            var model = new CentreDashboardViewModel(
                centre,
                adminUser.FirstName,
                adminUser.CategoryName,
                Request.GetUserIpAddressFromRequest(),
                delegateCount,
                courseCount,
                adminCount,
                supportTicketCount,
                centreRank,
                unacknowledgedNotifications.Count
                );

            return(View(model));
        }
        public CentreDashboardInformation?GetDashboardInformationForCentre(int centreId, int adminId)
        {
            var adminUser = userDataService.GetAdminUserById(adminId);
            var centre    = centresDataService.GetCentreDetailsById(centreId);

            if (centre == null || adminUser == null)
            {
                return(null);
            }

            var delegateCount = userDataService.GetNumberOfApprovedDelegatesAtCentre(centreId);
            var courseCount   =
                courseDataService.GetNumberOfActiveCoursesAtCentreFilteredByCategory(
                    centreId,
                    adminUser !.CategoryIdFilter
                    );
            var adminCount         = userDataService.GetNumberOfActiveAdminsAtCentre(centreId);
            var supportTicketCount = adminUser.IsCentreManager
                ? ticketDataService.GetNumberOfUnarchivedTicketsForCentreId(centreId)
                : ticketDataService.GetNumberOfUnarchivedTicketsForAdminId(adminId);
            var centreRank = centresService.GetCentreRankForCentre(centreId);

            return(new CentreDashboardInformation(centre, adminUser, delegateCount, courseCount, adminCount, supportTicketCount, centreRank));
        }
Ejemplo n.º 10
0
        public void Setup()
        {
            A.CallTo(() => userDataService.GetAdminUserById(A <int> ._)).Returns(UserTestHelper.GetDefaultAdminUser());
            A.CallTo(() => centresDataService.GetCentreDetailsById(A <int> ._))
            .Returns(CentreTestHelper.GetDefaultCentre());
            A.CallTo(() => userDataService.GetNumberOfApprovedDelegatesAtCentre(A <int> ._)).Returns(1);
            A.CallTo(() => courseDataService.GetNumberOfActiveCoursesAtCentreFilteredByCategory(A <int> ._, A <int> ._))
            .Returns(1);
            A.CallTo(() => userDataService.GetNumberOfActiveAdminsAtCentre(A <int> ._)).Returns(1);
            A.CallTo(() => ticketDataService.GetNumberOfUnarchivedTicketsForCentreId(A <int> ._)).Returns(1);
            A.CallTo(() => centresService.GetCentreRankForCentre(A <int> ._)).Returns(1);

            dashboardController = new DashboardController(
                userDataService,
                centresDataService,
                courseDataService,
                ticketDataService,
                centresService,
                systemNotificationsDataService
                ).WithMockHttpContext(httpRequest, response: httpResponse)
                                  .WithMockUser(true)
                                  .WithMockServices()
                                  .WithMockTempData();
        }