public ActionResult <ItemResponse <ProviderDetails> > Get(int id)
        {
            int          iCode    = 200;
            BaseResponse response = null;

            try
            {
                ProviderDetails details = _service.SelectByProviderId(id);

                if (details == null)
                {
                    iCode    = 404;
                    response = new ErrorResponse("Schedule not found");
                }
                else
                {
                    response = new ItemResponse <ProviderDetails> {
                        Item = details
                    };
                }
            }
            catch (Exception ex)
            {
                iCode = 500;
                base.Logger.LogError(ex.ToString());
                response = new ErrorResponse($"Server Error: ${ ex.Message}");
            }
            return(StatusCode(iCode, response));
        }
        public void ShowProviderDetailsPhoneNumberTest(bool providerDetailsExist)
        {
            // Arrange
            var courseDetailsProviderDetails = new _MVC_Views_CourseDetails_Provider_cshtml();
            var providerDetails        = new ProviderDetails();
            var courseDetailsViewModel = new CourseDetailsViewModel();

            courseDetailsViewModel.CourseDetails.ProviderDetails = providerDetails;
            if (providerDetailsExist)
            {
                courseDetailsViewModel.CourseDetails.ProviderDetails.PhoneNumber = nameof(CourseDetails.ProviderDetails.PhoneNumber);
            }
            else
            {
                courseDetailsViewModel.CourseDetails.ProviderDetails.PhoneNumber = null;
            }

            // Act
            var htmlDocument = courseDetailsProviderDetails.RenderAsHtml(courseDetailsViewModel);

            // Assert
            if (providerDetailsExist)
            {
                htmlDocument.DocumentNode.Descendants("li")
                .Any(li => li.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.PhoneNumber)).Should().BeTrue();
            }
            else
            {
                htmlDocument.DocumentNode.Descendants("li")
                .Any(li => li.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.PhoneNumber)).Should().BeFalse();
            }
        }
        public void ShowProviderDetailsNameTest(bool providerDetailsExist)
        {
            // Arrange
            var courseDetailsProviderDetails = new _MVC_Views_CourseDetails_Provider_cshtml();
            var providerDetails        = new ProviderDetails();
            var courseDetailsViewModel = new CourseDetailsViewModel();

            courseDetailsViewModel.CourseDetails.ProviderDetails = providerDetails;
            if (providerDetailsExist)
            {
                courseDetailsViewModel.CourseDetails.ProviderDetails.Name = nameof(CourseDetails.ProviderDetails.Name);
            }
            else
            {
                courseDetailsViewModel.CourseDetails.ProviderDetails.Name = null;
            }

            // Act
            var htmlDocument = courseDetailsProviderDetails.RenderAsHtml(courseDetailsViewModel);

            // Assert
            if (providerDetailsExist)
            {
                htmlDocument.DocumentNode.Descendants("p")
                .Any(p => p.Attributes["class"].Value.Contains("govuk-body-lead") &&
                     p.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.Name)).Should().BeTrue();
            }
            else
            {
                htmlDocument.DocumentNode.Descendants("p")
                .Any(p => p.Attributes["class"].Value.Contains("govuk-body-lead") &&
                     p.InnerText.Contains(nameof(courseDetailsViewModel.CourseDetails.ProviderDetails.Name))).Should().BeFalse();
            }
        }
        public void ShowProviderDetailsEmailAddressTest(bool providerDetailsExist)
        {
            // Arrange
            var courseDetailsProviderDetails = new _MVC_Views_CourseDetails_Provider_cshtml();
            var providerDetails        = new ProviderDetails();
            var courseDetailsViewModel = new CourseDetailsViewModel();

            courseDetailsViewModel.CourseDetails.ProviderDetails = providerDetails;
            if (providerDetailsExist)
            {
                courseDetailsViewModel.CourseDetails.ProviderDetails.EmailAddress = nameof(CourseDetails.ProviderDetails.EmailAddress);
            }

            // Act
            var htmlDocument = courseDetailsProviderDetails.RenderAsHtml(courseDetailsViewModel);

            // Assert
            if (providerDetailsExist)
            {
                htmlDocument.DocumentNode.Descendants("a")
                .Any(a => a.Attributes["class"].Value.Contains("govuk-link") &&
                     a.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.EmailAddress)).Should().BeTrue();
            }
            else
            {
                htmlDocument.DocumentNode.Descendants("a")
                .Any(a => a.Attributes["class"].Value.Contains("govuk-link") &&
                     a.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.EmailAddress)).Should().BeFalse();
            }
        }
        public ProviderDetails SelectByProviderId(int id)
        {
            string          procName = "[dbo].[ProviderDetails_SelectById_V4]";
            ProviderDetails details  = new ProviderDetails();

            _data.ExecuteCmd(procName, delegate(SqlParameterCollection parameterCollection)
            {
                parameterCollection.AddWithValue("@Id", id);
            }, delegate(IDataReader reader, short set)
            {
                int index                    = 0;
                details.UserProfile          = reader.DeserializeObject <List <BaseUserProfile> >(index++);
                details.ProviderProfile      = reader.DeserializeObject <List <ProviderProfile> >(index++);
                details.ScheduleAvailability = reader.DeserializeObject <List <ScheduleAvailability> >(index++);
                details.EducationDetails     = reader.DeserializeObject <List <Education> >(index++);
                details.ExperienceDetails    = reader.DeserializeObject <List <Experience> >(index++);
                details.Licenses             = reader.DeserializeObject <List <ProviderLicense> >(index++);
                details.Certifications       = reader.DeserializeObject <List <ProviderCertification> >(index++);
                details.ProviderCare         = reader.DeserializeObject <List <TwoColumn> >(index++);
                details.ProviderConcern      = reader.DeserializeObject <List <TwoColumn> >(index++);
                details.ProviderHelp         = reader.DeserializeObject <List <TwoColumn> >(index++);
                details.ProviderExpertise    = reader.DeserializeObject <List <TwoColumn> >(index++);
                details.ProviderLanguages    = reader.DeserializeObject <List <TwoColumn> >(index++);
                details.ProviderPhones       = reader.DeserializeObject <List <UserPhone> >(index++);
                details.ProviderLocation     = reader.DeserializeObject <List <ProviderLocation> >(index++);
            }
                             );

            return(details);
        }
        public async Task <bool> CheckIfExists(ProviderDetails provider)
        {
            await SyncAsync(true);

            var providers = await azureSyncTable.Where(x => x.Name == provider.Name || x.Address == provider.Address).ToListAsync();

            return(providers.Any());
        }
Beispiel #7
0
        public ActionResult Delete(int id)
        {
            ProviderDetails provider = entity.ProviderDetails.Find(id);

            entity.ProviderDetails.Remove(provider);
            entity.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #8
0
        public async Task <UkprnLookupResponse> GetTrainingProviderByUkprn(long ukprn)
        {
            // Due to a bug in .net core, we have to parse the SOAP XML from UKRLP by hand
            // If this ever gets fixed then look to remove this code and replace with 'Add connected service'
            // https://github.com/dotnet/wcf/issues/3228

            var request = _serializer.BuildUkrlpSoapRequest(ukprn, _config.UkrlpApiAuthentication.StakeholderId,
                                                            _config.UkrlpApiAuthentication.QueryId);

            var requestMessage =
                new HttpRequestMessage(HttpMethod.Post, _config.UkrlpApiAuthentication.ApiBaseAddress)
            {
                Content = new StringContent(request, Encoding.UTF8, "text/xml")
            };

            var responseMessage = await _httpClient.SendAsync(requestMessage);

            if (!responseMessage.IsSuccessStatusCode)
            {
                var failureResponse = new UkprnLookupResponse
                {
                    Success = false,
                    Results = new List <ProviderDetails>()
                };
                return(await Task.FromResult(failureResponse));
            }

            string soapXml = await responseMessage.Content.ReadAsStringAsync();

            var matchingProviderRecords = _serializer.DeserialiseMatchingProviderRecordsResponse(soapXml);

            ProviderDetails providerDetails = null;

            if (matchingProviderRecords != null)
            {
                providerDetails = Mapper.Map <ProviderDetails>(matchingProviderRecords);

                var result = new List <ProviderDetails>
                {
                    providerDetails
                };
                var resultsFound = new UkprnLookupResponse
                {
                    Success = true,
                    Results = result
                };
                return(await Task.FromResult(resultsFound));
            }
            else
            {
                var noResultsFound = new UkprnLookupResponse
                {
                    Success = true,
                    Results = new List <ProviderDetails>()
                };
                return(await Task.FromResult(noResultsFound));
            }
        }
Beispiel #9
0
 public void BindData(Guid?providerId)
 {
     _providerId = providerId;
     if (_providerId.HasValue)
     {
         _presenter.OnViewLoaded();
     }
     ProviderDetails.DataBind();
 }
Beispiel #10
0
        public void check_organisation_status_orchestrator_builds_with_company_details_only()
        {
            var applicationId = Guid.NewGuid();

            var commonDetails = new GatewayCommonDetails
            {
                ApplicationSubmittedOn = DateTime.Now.AddDays(-3),
                SourcesCheckedOn       = DateTime.Now,
                LegalName = UKRLPLegalName,
                Ukprn     = ukprn
            };

            _applyApiClient.Setup(x => x.GetPageCommonDetails(applicationId, It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(commonDetails);

            var ukrlpDetails = new ProviderDetails
            {
                ProviderName                = ProviderName,
                ProviderStatus              = ProviderStatus,
                VerifiedByCompaniesHouse    = true,
                VerifiedbyCharityCommission = false
            };

            _applyApiClient.Setup(x => x.GetUkrlpDetails(applicationId)).ReturnsAsync(ukrlpDetails);

            var companiesHouseDetails = new CompaniesHouseSummary
            {
                Status = CompanyStatus
            };

            _applyApiClient.Setup(x => x.GetCompaniesHouseDetails(applicationId)).ReturnsAsync(companiesHouseDetails);

            var charityDetails = new CharityCommissionSummary
            {
                Status = null
            };

            _applyApiClient.Setup(x => x.GetCharityCommissionDetails(applicationId)).ReturnsAsync(charityDetails);

            var request = new GetOrganisationStatusRequest(applicationId, UserId, UserName);

            var response = _orchestrator.GetOrganisationStatusViewModel(request);

            var viewModel = response.Result;

            Assert.AreEqual(ProviderStatusWithCapitalisation, viewModel.UkrlpStatus);
            Assert.AreEqual(CompanyStatusWithCapitalisation, viewModel.CompaniesHouseStatus);
            Assert.IsNull(viewModel.CharityCommissionStatus);
            Assert.AreEqual(ukprn, viewModel.Ukprn);

            _applyApiClient.Verify(x => x.GetUkrlpDetails(applicationId), Times.Once);
            _applyApiClient.Verify(x => x.GetCompaniesHouseDetails(applicationId), Times.Once);
            _applyApiClient.Verify(x => x.GetCharityCommissionDetails(applicationId), Times.Never);
        }
        public void check_legal_name_orchestrator_builds_with_company_and_charity_details()
        {
            var applicationId = Guid.NewGuid();

            var commonDetails = new GatewayCommonDetails
            {
                ApplicationSubmittedOn = DateTime.Now.AddDays(-3),
                SourcesCheckedOn       = DateTime.Now,
                LegalName = UKRLPLegalName,
                Ukprn     = ukprn
            };

            _applyApiClient.Setup(x => x.GetPageCommonDetails(applicationId, It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(commonDetails);

            var ukrlpDetails = new ProviderDetails
            {
                ProviderName = ProviderName,
                VerifiedbyCharityCommission = true,
                VerifiedByCompaniesHouse    = true
            };

            _applyApiClient.Setup(x => x.GetUkrlpDetails(applicationId)).ReturnsAsync(ukrlpDetails);

            var companiesHouseDetails = new CompaniesHouseSummary
            {
                CompanyName = CompanyName
            };

            _applyApiClient.Setup(x => x.GetCompaniesHouseDetails(applicationId)).ReturnsAsync(companiesHouseDetails);

            var charityDetails = new CharityCommissionSummary
            {
                CharityName = CharityName
            };

            _applyApiClient.Setup(x => x.GetCharityCommissionDetails(applicationId)).ReturnsAsync(charityDetails);

            var request = new GetLegalNameRequest(applicationId, UserId, UserName);

            var response = _orchestrator.GetLegalNameViewModel(request);

            var viewModel = response.Result;

            Assert.AreEqual(UKRLPLegalName, viewModel.ApplyLegalName);
            Assert.AreEqual(ProviderName, viewModel.UkrlpLegalName);
            Assert.AreEqual(CompanyName, viewModel.CompaniesHouseLegalName);
            Assert.AreEqual(CharityName, viewModel.CharityCommissionLegalName);
            Assert.AreEqual(ukprn, viewModel.Ukprn);
            _applyApiClient.Verify(x => x.GetUkrlpDetails(applicationId), Times.Once);
            _applyApiClient.Verify(x => x.GetCompaniesHouseDetails(applicationId), Times.Once);
            _applyApiClient.Verify(x => x.GetCharityCommissionDetails(applicationId), Times.Once);
        }
Beispiel #12
0
        public async Task Then_Adds_ProviderName_To_Tokens(
            ReservationCreatedNotificationEvent createdEvent,
            ProviderDetails provider,
            [Frozen] Mock <IProviderService> mockProviderService,
            NotificationTokenBuilder builder)
        {
            mockProviderService
            .Setup(service => service.GetDetails(createdEvent.ProviderId.Value))
            .ReturnsAsync(provider);

            var tokens = await builder.BuildTokens(createdEvent);

            tokens[TokenKeyNames.ProviderName].Should().Be(provider.Name);
        }
        public void Initialize(ModuleSettings settings)
        {
            Res.RegisterResource <OauthExternalAuthenticationResources>();

            Config.RegisterSection <OAEConfig>();

            Bootstrapper.Initialized += Bootstrapper_Initialized;

            var oaeConfig = Config.Get <OAEConfig>();

            //Facebook
            if (!String.IsNullOrEmpty(oaeConfig.FacebookAPPID) && !String.IsNullOrEmpty(oaeConfig.FacebookAPPSecretKey))
            {
                ProviderDetails faecbookClient = OpenAuth.AuthenticationClients.GetAll().FirstOrDefault(client => client.ProviderName == "facebook");
                if (faecbookClient == null)
                {
                    OpenAuth.AuthenticationClients.Add("facebook", () => new FacebookClientUpdated(
                                                           appId: oaeConfig.FacebookAPPID,
                                                           appSecret: oaeConfig.FacebookAPPSecretKey));
                }
            }

            //Google
            if (!String.IsNullOrEmpty(oaeConfig.GoogleClientID) && !String.IsNullOrEmpty(oaeConfig.GoogleClientSecret))
            {
                ProviderDetails googleClient = OpenAuth.AuthenticationClients.GetAll().FirstOrDefault(client => client.ProviderName.ToLower() == "google");
                if (googleClient == null)
                {
                    OpenAuth.AuthenticationClients.Add("Google", () => new GoogleOAuth2Client(oaeConfig.GoogleClientID, oaeConfig.GoogleClientSecret)); 
                }
            }
            //Amazon
            if (!String.IsNullOrEmpty(oaeConfig.AmazonAPPID) && !String.IsNullOrEmpty(oaeConfig.AmazonAPPSecretKey))
            {
                ProviderDetails amazonClient = OpenAuth.AuthenticationClients.GetAll().FirstOrDefault(client => client.ProviderName == "Amazon");
                if (amazonClient == null)
                {
                    //OpenAuth.AuthenticationClients.Add("Amazon", (Func<IAuthenticationClient>)(() => (IAuthenticationClient)new AmazonOpenAuthenticationProvider("amzn1.application-oa2-client.19782be9a3c54a29ba54ad753e9e4630", "ffb32157e1b759ec2e8a165a08456022a69d83a55b2ad5b80bce3dcdb2fd0da0")), null);
                    OpenAuth.AuthenticationClients.Add("Amazon", (Func <IAuthenticationClient>)(() =>
                                                                                                (IAuthenticationClient) new AmazonOpenAuthenticationProvider(oaeConfig.AmazonAPPID, oaeConfig.AmazonAPPSecretKey)), null);
                }
            }
        }
Beispiel #14
0
        public void check_orchestrator_builds_with_website_address(string organisationWebsite, string ukrlpApiWebsite)
        {
            var applicationId = Guid.NewGuid();

            var commonDetails = new GatewayCommonDetails
            {
                ApplicationSubmittedOn = DateTime.Now.AddDays(-3),
                SourcesCheckedOn       = DateTime.Now,
                LegalName = UKRLPLegalName,
                Ukprn     = ukprn
            };

            _applyApiClient.Setup(x => x.GetPageCommonDetails(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(commonDetails);

            _applyApiClient.Setup(x => x.GetOrganisationWebsiteAddress(applicationId)).ReturnsAsync(organisationWebsite);

            var ukrlpDetails = new ProviderDetails
            {
                ContactDetails = new List <ProviderContact>()
                {
                    new ProviderContact
                    {
                        ContactWebsiteAddress = ukrlpApiWebsite,
                        ContactType           = RoatpGatewayConstants.ProviderContactDetailsTypeLegalIdentifier
                    }
                }
            };

            _applyApiClient.Setup(x => x.GetUkrlpDetails(applicationId)).ReturnsAsync(ukrlpDetails);

            var request = new GetWebsiteRequest(applicationId, UserId, UserName);

            var response = _orchestrator.GetWebsiteViewModel(request);

            var viewModel = response.Result;

            Assert.AreEqual(UKRLPLegalName, viewModel.ApplyLegalName);
            Assert.AreEqual(ukprn, viewModel.Ukprn);
            Assert.AreEqual(organisationWebsite, viewModel.SubmittedWebsite);
            Assert.AreEqual(ukrlpApiWebsite, viewModel.UkrlpWebsite);
        }
Beispiel #15
0
        public async void CheckPermission(ProviderDetails selectedProvider)
        {
            var status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);

            if (status != PermissionStatus.Granted)
            {
                var results = await CrossPermissions.Current.RequestPermissionsAsync(new[] { Permission.Location });

                status = results[Permission.Location];
            }
            if (status == PermissionStatus.Granted)
            {
                ShowViewModel <ProviderMapViewModel>(new
                {
                    name     = selectedProvider.Name,
                    address  = selectedProvider.Address,
                    phoneNum = selectedProvider.PhoneNum,
                    lat      = selectedProvider.Lat,
                    lng      = selectedProvider.Lng
                });
            }
        }
Beispiel #16
0
        public async Task Not_required_not_set_for_people_in_control_criminal_compliance_if_company_or_charity(string verificationAuthority)
        {
            var providerDetails = new ProviderDetails
            {
                VerificationDetails = new List <VerificationDetails>
                {
                    new VerificationDetails
                    {
                        VerificationAuthority = verificationAuthority
                    }
                }
            };

            _apiClient.Setup(x => x.GetUkrlpDetails(_applicationId)).ReturnsAsync(providerDetails);

            await _service.SetupNotRequiredLinks(_applicationId, UserName, _viewModel, (int)ProviderTypes.Main);

            var peopleInControlCriminalComplianceSequence = _viewModel.Sequences.FirstOrDefault(x => x.SequenceNumber
                                                                                                == GatewaySequences.PeopleInControlCriminalComplianceChecks);

            peopleInControlCriminalComplianceSequence.Should().NotBeNull();
            peopleInControlCriminalComplianceSequence.Sections.Any(x => x.Status == SectionReviewStatus.NotRequired).Should().BeFalse();
        }
        public void check_trading_name_orchestrator_builds_with_expected_details()
        {
            var applicationId = Guid.NewGuid();

            var commonDetails = new GatewayCommonDetails
            {
                ApplicationSubmittedOn = DateTime.Now.AddDays(-3),
                SourcesCheckedOn       = DateTime.Now,
                LegalName = LegalName,
                Ukprn     = ukprn
            };

            _applyApiClient.Setup(x => x.GetPageCommonDetails(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(commonDetails);

            var ukrlpDetails = new ProviderDetails
            {
                ProviderAliases = new List <ProviderAlias>()
                {
                    new ProviderAlias {
                        Alias = UKRLPTradingName
                    }
                }
            };

            _applyApiClient.Setup(x => x.GetUkrlpDetails(It.IsAny <Guid>())).ReturnsAsync(ukrlpDetails);
            _applyApiClient.Setup(x => x.GetTradingName(It.IsAny <Guid>())).ReturnsAsync(ApplyTradingName);

            var request = new GetTradingNameRequest(applicationId, UserId, UserName);

            var response = _orchestrator.GetTradingNameViewModel(request);

            var viewModel = response.Result;

            Assert.AreEqual(UKRLPTradingName, viewModel.UkrlpTradingName);
            Assert.AreEqual(ApplyTradingName, viewModel.ApplyTradingName);
            Assert.AreEqual(ukprn, viewModel.Ukprn);
        }
        public void ShowProviderFEDetailsTest(bool showFEDetails)
        {
            // Arrange
            var courseDetailsProviderDetails = new _MVC_Views_CourseDetails_Provider_cshtml();
            var providerDetails        = new ProviderDetails();
            var courseDetailsViewModel = new CourseDetailsViewModel();

            courseDetailsViewModel.CourseDetails.ProviderDetails = providerDetails;
            courseDetailsViewModel.ShouldShowFeChoices           = showFEDetails;
            courseDetailsViewModel.CourseDetails.ProviderDetails.LearnerSatisfaction = 0;
            if (showFEDetails)
            {
                courseDetailsViewModel.CourseDetails.ProviderDetails.LearnerSatisfactionSpecified = true;
            }
            else
            {
                courseDetailsViewModel.CourseDetails.ProviderDetails.LearnerSatisfactionSpecified = false;
            }

            // Act
            var htmlDocument = courseDetailsProviderDetails.RenderAsHtml(courseDetailsViewModel);

            // Assert
            if (showFEDetails)
            {
                htmlDocument.DocumentNode.Descendants("p")
                .Any(p => p.Attributes["class"].Value.Contains("govuk-body govuk-!-font-size-48 govuk-!-font-weight-bold govuk-!-margin-bottom-2") &&
                     p.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.LearnerSatisfaction.ToString())).Should().BeTrue();
            }
            else
            {
                htmlDocument.DocumentNode.Descendants("p")
                .Any(p => p.Attributes["class"].Value.Contains("govuk-body govuk-!-font-size-48 govuk-!-font-weight-bold govuk-!-margin-bottom-2") &&
                     p.InnerText.Contains(nameof(courseDetailsViewModel.CourseDetails.ProviderDetails.LearnerSatisfaction))).Should().BeFalse();
            }
        }
Beispiel #19
0
        public ActionResult Details(int id)
        {
            ProviderDetails provider = entity.ProviderDetails.Find(id);

            return(View(provider));
        }
Beispiel #20
0
 public ActionResult Edit(ProviderDetails provider)
 {
     entity.Entry(provider).State = EntityState.Modified;
     entity.SaveChanges();
     return(RedirectToAction("Index"));
 }
Beispiel #21
0
 public ActionResult Create(ProviderDetails provider)
 {
     entity.ProviderDetails.Add(provider);
     entity.SaveChanges();
     return(RedirectToAction("Index"));
 }
        public void check_orchestrator_builds_with_both_addresses_details()
        {
            var applicationId = Guid.NewGuid();

            var commonDetails = new GatewayCommonDetails
            {
                ApplicationSubmittedOn = DateTime.Now.AddDays(-3),
                SourcesCheckedOn       = DateTime.Now,
                LegalName = UKRLPLegalName,
                Ukprn     = ukprn
            };

            _applyApiClient.Setup(x => x.GetPageCommonDetails(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(commonDetails);

            // SubmittedApplicationAddress
            var SubmittedApplicationAddress = "1 QnA Street, Second Address, Third Address, Forth Address, Coventry, CV2 1WT";

            var organisationAddressResult = new ContactAddress
            {
                Address1 = "1 QnA Street",
                Address2 = "Second Address",
                Address3 = "Third Address",
                Address4 = "Forth Address",
                Town     = "Coventry",
                PostCode = "CV2 1WT"
            };

            _applyApiClient.Setup(x => x.GetOrganisationAddress(It.IsAny <Guid>())).ReturnsAsync(organisationAddressResult);

            // UkrlpAddress
            var UkrlpAddress = "1 First Street, Second Address, Third Address, Forth Address, Coventry, CV1 2WT";

            var ukrlpDetails = new ProviderDetails
            {
                ContactDetails = new List <ProviderContact>
                {
                    new  ProviderContact {
                        ContactAddress = new ContactAddress {
                            Address1 = "1 First Street",
                            Address2 = "Second Address",
                            Address3 = "Third Address",
                            Address4 = "Forth Address",
                            Town     = "Coventry",
                            PostCode = "CV1 2WT"
                        }
                    }
                }
            };

            _applyApiClient.Setup(x => x.GetUkrlpDetails(It.IsAny <Guid>())).ReturnsAsync(ukrlpDetails);

            var request = new GetAddressRequest(applicationId, UserId, UserName);

            var response = _orchestrator.GetAddressViewModel(request);

            var viewModel = response.Result;

            Assert.AreEqual(UKRLPLegalName, viewModel.ApplyLegalName);
            Assert.AreEqual(ukprn, viewModel.Ukprn);
            Assert.AreEqual(SubmittedApplicationAddress, viewModel.SubmittedApplicationAddress);
            Assert.AreEqual(UkrlpAddress, viewModel.UkrlpAddress);
        }
        public CertWizard()
        {
            InitializeComponent();

            // create a list of all csp providers
            CertEnroll.CCspInformations CspInformations = new CertEnroll.CCspInformations();
            CspInformations.AddAvailableCsps();

            // enumerate each provider
            foreach (CertEnroll.ICspInformation oCsp in CspInformations)
            {
                // create a structure for display purposes
                ProviderDetails oOpt = new ProviderDetails();
                oOpt.IsHardware = oCsp.IsSmartCard || oCsp.IsHardwareDevice;
                oOpt.IsLegacy   = oCsp.LegacyCsp;
                ProviderOptions.Add(oCsp.Name, oOpt);

                // populate display structure with algorithmn information
                foreach (CertEnroll.ICspAlgorithm oAlg in oCsp.CspAlgorithms)
                {
                    // special case: eliminate generic ecdsa that does not work
                    if (oAlg.Name.Equals("ECDSA"))
                    {
                        continue;
                    }

                    // hash algorithms
                    if (oAlg.Type == CertEnroll.AlgorithmType.XCN_BCRYPT_HASH_INTERFACE)
                    {
                        if (oOpt.HashAlgorithmns.Contains(oAlg.Name))
                        {
                            continue;
                        }
                        oOpt.HashAlgorithmns.Add(oAlg.Name);
                    }

                    // signature algorithms
                    else if (oAlg.Type == CertEnroll.AlgorithmType.XCN_BCRYPT_SIGNATURE_INTERFACE ||
                             oAlg.Type == CertEnroll.AlgorithmType.XCN_BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE)
                    {
                        if (oOpt.SignatureAlgorithmns.Contains(oAlg.Name))
                        {
                            continue;
                        }
                        oOpt.SignatureAlgorithmns.Add(oAlg.Name);
                        oOpt.SignatureMinLengths.Add(oAlg.Name, oAlg.MinLength);
                        oOpt.SignatureMaxLengths.Add(oAlg.Name, oAlg.MaxLength);
                    }
                }

                // sort so rsa is near the top
                oOpt.SignatureAlgorithmns = oOpt.SignatureAlgorithmns.
                                            OrderBy(x => x.Contains("_")).ThenBy(x => x).ToList();
            }

            // set default values
            oValidFromDatePicker.SelectedDate  = DateTime.Now;
            oValidUntilDatePicker.SelectedDate = DateTime.Now.AddYears(3);

            // populate extended key usage options
            foreach (Oid oOid in NativeMethods.GetExtendedKeyUsages())
            {
                // skip weird looking or known problematic options
                if (oOid.FriendlyName.StartsWith("sz") ||
                    oOid.FriendlyName.StartsWith("@"))
                {
                    continue;
                }

                // translate into our display structure
                EkuOption oKeyUsage = new EkuOption()
                {
                    Name = oOid.FriendlyName,
                    Oid  = oOid.Value
                };
                EnhancedKeyUsages.Add(oKeyUsage);
            }

            // populate key usage options
            foreach (string sKeyUsage in Enum.GetNames(typeof(X509KeyUsageFlags)))
            {
                EkuOption oOpt = new EkuOption();
                oOpt.Name = Regex.Replace(sKeyUsage, "(\\B[A-Z])", " $1");
                oOpt.Oid  = sKeyUsage;
                KeyUsages.Add(oOpt);
            }

            // set combobox to sort
            oProviderComboBox.Items.SortDescriptions.Add(new SortDescription("", ListSortDirection.Ascending));
            oKeyUsageCombobox.Items.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
            oEnhancedKeyUsageCombobox.Items.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
            oProviderType_Checked(null, null);

            // disable machine store option if user is not an admin
            oCertificateStoreMachineRadio.IsEnabled =
                new WindowsPrincipal(WindowsIdentity.GetCurrent())
                .IsInRole(WindowsBuiltInRole.Administrator);
        }
        public ActionResult Edit(int id)
        {
            ProviderDetails provider = entities.ProviderDetails.Find(id);

            return(PartialView("_Edit", provider));
        }
        public async Task <ProviderDetails> GetDetails(uint providerId)
        {
            ProviderDetails providerDetails = await _providerApiClient.GetProvider(providerId);

            return(providerDetails);
        }
        public void ShowHideLearnerAndEmployerSatisfationTest(bool learnerSatisfactionSpecified, bool employeeSatisfactionSpecified)
        {
            // Arrange
            var courseDetailsProviderDetails = new _MVC_Views_CourseDetails_Provider_cshtml();
            var courseDetailsViewModel       = new CourseDetailsViewModel();

            courseDetailsViewModel.ShouldShowFeChoices = true;
            var providerDetails = new ProviderDetails
            {
                LearnerSatisfactionSpecified  = learnerSatisfactionSpecified,
                EmployerSatisfactionSpecified = employeeSatisfactionSpecified
            };

            providerDetails.Name = nameof(courseDetailsViewModel.CourseDetails.ProviderDetails.Name);
            courseDetailsViewModel.CourseDetails.ProviderDetails = providerDetails;
            var dummyLearnerSatisfaction  = 1.0;
            var dummyEmployeeSatisfaction = 1.0;

            if (learnerSatisfactionSpecified && employeeSatisfactionSpecified)
            {
                courseDetailsViewModel.CourseDetails.ProviderDetails.LearnerSatisfaction  = dummyLearnerSatisfaction;
                courseDetailsViewModel.CourseDetails.ProviderDetails.EmployerSatisfaction = dummyEmployeeSatisfaction;
            }
            else if (learnerSatisfactionSpecified && !employeeSatisfactionSpecified)
            {
                courseDetailsViewModel.CourseDetails.ProviderDetails.LearnerSatisfaction = dummyLearnerSatisfaction;
            }
            else if (!learnerSatisfactionSpecified && employeeSatisfactionSpecified)
            {
                courseDetailsViewModel.CourseDetails.ProviderDetails.EmployerSatisfaction = dummyEmployeeSatisfaction;
            }

            // Act
            var htmlDocument = courseDetailsProviderDetails.RenderAsHtml(courseDetailsViewModel);

            // Assert
            if (learnerSatisfactionSpecified && employeeSatisfactionSpecified)
            {
                htmlDocument.DocumentNode.Descendants("p")
                .Any(p => p.Attributes["class"].Value.Contains("govuk-body govuk-!-font-size-48 govuk-!-font-weight-bold govuk-!-margin-bottom-2") &&
                     p.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.LearnerSatisfaction.ToString())).Should().BeTrue();

                htmlDocument.DocumentNode.Descendants("p")
                .Any(p => p.Attributes["class"].Value.Contains("govuk-body govuk-!-font-size-48 govuk-!-font-weight-bold govuk-!-margin-bottom-2") &&
                     p.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.EmployerSatisfaction.ToString())).Should().BeTrue();
            }
            else if (learnerSatisfactionSpecified && !employeeSatisfactionSpecified)
            {
                htmlDocument.DocumentNode.Descendants("p")
                .Any(p => p.Attributes["class"].Value.Contains("govuk-body govuk-!-font-size-48 govuk-!-font-weight-bold govuk-!-margin-bottom-2") &&
                     p.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.LearnerSatisfaction.ToString())).Should().BeTrue();

                htmlDocument.DocumentNode.Descendants("p")
                .Any(p => p.Attributes["class"].Value.Contains("govuk-body govuk-!-font-size-48 govuk-!-font-weight-bold govuk-!-margin-bottom-2") &&
                     p.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.EmployerSatisfaction.ToString())).Should().BeFalse();
            }
            else if (!learnerSatisfactionSpecified && employeeSatisfactionSpecified)
            {
                htmlDocument.DocumentNode.Descendants("p")
                .Any(p => p.Attributes["class"].Value.Contains("govuk-body govuk-!-font-size-48 govuk-!-font-weight-bold govuk-!-margin-bottom-2") &&
                     p.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.LearnerSatisfaction.ToString())).Should().BeFalse();

                htmlDocument.DocumentNode.Descendants("p")
                .Any(p => p.Attributes["class"].Value.Contains("govuk-body govuk-!-font-size-48 govuk-!-font-weight-bold govuk-!-margin-bottom-2") &&
                     p.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.EmployerSatisfaction.ToString())).Should().BeTrue();
            }
            else if (!learnerSatisfactionSpecified && !employeeSatisfactionSpecified)
            {
                htmlDocument.DocumentNode.Descendants("p")
                .Any(p => p.Attributes["class"].Value.Contains("govuk-body govuk-!-font-size-48 govuk-!-font-weight-bold govuk-!-margin-bottom-2") &&
                     p.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.LearnerSatisfaction.ToString())).Should().BeFalse();

                htmlDocument.DocumentNode.Descendants("p")
                .Any(p => p.Attributes["class"].Value.Contains("govuk-body govuk-!-font-size-48 govuk-!-font-weight-bold govuk-!-margin-bottom-2") &&
                     p.InnerText.Contains(courseDetailsViewModel.CourseDetails.ProviderDetails.EmployerSatisfaction.ToString())).Should().BeFalse();
            }
        }
Beispiel #27
0
        public void Before_each_test()
        {
            _applicationId = Guid.NewGuid();

            _apiClient           = new Mock <IRoatpApplicationApiClient>();
            _accreditationClient = new Mock <IRoatpExperienceAndAccreditationApiClient>();
            _logger  = new Mock <ILogger <GatewaySectionsNotRequiredService> >();
            _service = new GatewaySectionsNotRequiredService(_apiClient.Object, _accreditationClient.Object, _logger.Object);

            var application = new Apply();

            _viewModel = new RoatpGatewayApplicationViewModel(application, new ApplicationOversightDetails {
                OversightStatus = OversightReviewStatus.None
            })
            {
                Sequences = new List <GatewaySequence>
                {
                    new GatewaySequence
                    {
                        SequenceNumber = GatewaySequences.OrganisationChecks,
                        Sections       = new List <GatewaySection>
                        {
                            new GatewaySection
                            {
                                PageId = GatewayPageIds.TradingName,
                                Status = SectionReviewStatus.New
                            },
                            new GatewaySection
                            {
                                PageId = GatewayPageIds.WebsiteAddress,
                                Status = SectionReviewStatus.New
                            },
                            new GatewaySection
                            {
                                PageId = GatewayPageIds.OfficeForStudents,
                                Status = SectionReviewStatus.New
                            },
                            new GatewaySection
                            {
                                PageId = GatewayPageIds.InitialTeacherTraining,
                                Status = SectionReviewStatus.New
                            },
                            new GatewaySection
                            {
                                PageId = GatewayPageIds.Ofsted,
                                Status = SectionReviewStatus.New
                            },
                            new GatewaySection
                            {
                                PageId = GatewayPageIds.SubcontractorDeclaration,
                                Status = SectionReviewStatus.New
                            }
                        }
                    },
                    new GatewaySequence
                    {
                        SequenceNumber = GatewaySequences.PeopleInControlCriminalComplianceChecks,
                        Sections       = new List <GatewaySection>
                        {
                            new GatewaySection
                            {
                                PageId = GatewayPageIds.CriminalComplianceWhosInControlChecks.Bankrupt,
                                Status = SectionReviewStatus.New
                            },
                            new GatewaySection
                            {
                                PageId = GatewayPageIds.CriminalComplianceWhosInControlChecks.ContractTerminated,
                                Status = SectionReviewStatus.New
                            },
                            new GatewaySection
                            {
                                PageId = GatewayPageIds.CriminalComplianceWhosInControlChecks.FraudIrregularities,
                                Status = SectionReviewStatus.New
                            }
                        }
                    }
                }
            };
            var providerDetails = new ProviderDetails
            {
                VerificationDetails = new List <VerificationDetails>
                {
                    new VerificationDetails
                    {
                        VerificationAuthority = VerificationAuthorities.CompaniesHouseAuthority
                    }
                }
            };

            _apiClient.Setup(x => x.GetUkrlpDetails(_applicationId)).ReturnsAsync(providerDetails);
        }
        public void Then_Maps_Matching_Fields(ProviderApiResponse source)
        {
            ProviderDetails providerDetails = source;

            providerDetails.Should().BeEquivalentTo(source);
        }
 public ActionResult AddProvider(ProviderDetails provider)
 {
     entities.ProviderDetails.Add(provider);
     entities.SaveChanges();
     return(RedirectToAction("Index", "Admin"));
 }