Пример #1
0
        private void ManagePage(string htmlString, WebsiteViewModel viewModel)
        {
            var    mainHost = new Uri(viewModel.Url).Host;
            string reference;
            string referenceHost;
            string pattern = "href\\s*=\\s*(?:[\"'](?<1>[^\"']*)[\"']|(?<1>\\S+))";

            var dto = Mapper.Map <WebsiteViewModel, WebsiteDto>(viewModel);

            dto.Name = viewModel.Name;
            var match = Regex.Match(htmlString, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled);

            while (match.Success)
            {
                reference = match.Groups[1].Value;
                Uri uri = null;
                if (Uri.TryCreate(reference, UriKind.Absolute, out uri))
                {
                    referenceHost = uri.Host;
                    if (referenceHost == mainHost && !list.Any(i => i == reference))
                    {
                        list.Add(reference);

                        dto.Url = reference;
                        handler.Add(dto);
                    }
                }

                match = match.NextMatch();
            }
        }
        public ActionResult Logout(string Slug)
        {
            WebsiteViewModel vm = _GetViewModel(Slug);

            UserService.Logout();
            return(RedirectToAction("Index", Slug + "/Home"));
        }
        public void post_website_address_clarification_happy_path()
        {
            var applicationId = Guid.NewGuid();
            var pageId        = GatewayPageIds.WebsiteAddress;

            var vm = new WebsiteViewModel
            {
                ApplicationId       = applicationId,
                Status              = SectionReviewStatus.Pass,
                SourcesCheckedOn    = DateTime.Now,
                ErrorMessages       = new List <ValidationErrorDetail>(),
                OptionPassText      = comment,
                PageId              = pageId,
                ClarificationAnswer = ClarificationAnswer
            };
            var command = new SubmitGatewayPageAnswerCommand(vm);

            GatewayValidator.Setup(v => v.ValidateClarification(command)).ReturnsAsync(new ValidationResponse {
                Errors = new List <ValidationErrorDetail>()
            });

            var result = _controller.ClarifyWebsitePage(command).Result;

            ApplyApiClient.Verify(x => x.SubmitGatewayPageAnswerPostClarification(applicationId, pageId, vm.Status, UserId, Username, comment, ClarificationAnswer));
            _orchestrator.Verify(x => x.GetWebsiteViewModel(new GetWebsiteRequest(applicationId, UserId, Username)), Times.Never());
        }
        public ActionResult ContactForm(string Slug)
        {
            WebsiteViewModel vm = _GetViewModel(Slug);

            vm.Item = ConfigService.RecaptchaKey;
            return(View(vm));
        }
Пример #5
0
        public WebViewPage()
        {
            InitializeComponent();
            //Checks if the OS version is supporting CompactOverlay.
            if (ApplicationView.GetForCurrentView().IsViewModeSupported(ApplicationViewMode.CompactOverlay))
            {
                MiniMode.Visibility = Visibility.Visible;
            }
            //replaces the Title Bar with a custom version. Taken from:
            //https://www.eternalcoding.com/?p=1952
            CoreApplicationViewTitleBar coreTitleBar = CoreApplication.GetCurrentView().TitleBar;

            coreTitleBar.ExtendViewIntoTitleBar = true;

            TitleBar.Height = coreTitleBar.Height;
            Window.Current.SetTitleBar(MainTitleBar);

            Window.Current.Activated          += Current_Activated;
            coreTitleBar.IsVisibleChanged     += CoreTitleBar_IsVisibleChanged;
            coreTitleBar.LayoutMetricsChanged += CoreTitleBar_LayoutMetricsChanged;

            if (Website == null)
            {
                Website = WebsiteViewModel.FromWebsite(WebsiteDataSource.GetDefault());
            }
        }
        public void post_website_address_clarification_path_with_errors()
        {
            var applicationId = Guid.NewGuid();

            var vm = new WebsiteViewModel
            {
                ApplicationId       = applicationId,
                Status              = SectionReviewStatus.Fail,
                SourcesCheckedOn    = DateTime.Now,
                ErrorMessages       = new List <ValidationErrorDetail>(),
                ClarificationAnswer = ClarificationAnswer
            };

            var command = new SubmitGatewayPageAnswerCommand(vm);

            GatewayValidator.Setup(v => v.ValidateClarification(command))
            .ReturnsAsync(new ValidationResponse
            {
                Errors = new List <ValidationErrorDetail>
                {
                    new ValidationErrorDetail {
                        Field = "OptionFail", ErrorMessage = "needs text"
                    }
                }
            }
                          );

            _orchestrator.Setup(x => x.GetWebsiteViewModel(It.Is <GetWebsiteRequest>(y => y.ApplicationId == vm.ApplicationId &&
                                                                                     y.UserName == Username))).ReturnsAsync(vm);

            var result = _controller.ClarifyWebsitePage(command).Result;

            ApplyApiClient.Verify(x => x.SubmitGatewayPageAnswer(It.IsAny <Guid>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never);
        }
        public ActionResult JobTypeFrontEnd(string Slug)
        {
            WebsiteViewModel vm = _GetViewModel(Slug);

            vm.BrainTreeToken = _BrainTreeService.CreateToken();
            vm.Website        = WebsiteService.websiteGetBySlug(Slug);
            return(View(vm));
        }
Пример #8
0
        public ActionResult Create()
        {
            var viewModel = new WebsiteViewModel();

            viewModel.PackageConfigurations = PackageConfigurationService.GetAll().ToList();

            return(View(viewModel));
        }
        public ActionResult DashboardIndex(string Slug)
        {
            WebsiteViewModel vm = _GetViewModel(Slug);

            vm.ActivityTypes = ActivityTypeId.NewAccount;
            vm.Token         = _BrainTreeService.CreateToken();
            return(View("DashboardHome", vm));
        }
Пример #10
0
        void AddNewWebsite()
        {
            // todo : this is tightly coupled.
            var newWebsite = new WebsiteViewModel(new WeeklyWebsite(GenerateNewID(), "", "", PageStyle.Index, DateTime.MinValue));

            Websites.Add(newWebsite);
            SelectedWebsite = newWebsite;
        }
Пример #11
0
        // GET: /<controller>/
        public IActionResult Index()
        {
            WebsiteViewModel model = new WebsiteViewModel();

            model.Paragraphs = _repository.getByType("Website");
            model.Faqs       = _faqRepository.Items;
            ViewBag.Title    = "About this site";
            return(View(model));
        }
Пример #12
0
        public static bool HospitalMissingCostToCharge(this WebsiteViewModel viewmodel)
        {
            //var crit = PredicateBuilder.False<WebsiteHospital>();
            //crit = crit.Or(h => h.CCR == null);
            var missingCostToCharge = viewmodel.Website.Hospitals.Count(wh => string.IsNullOrEmpty(wh.CCR) || wh.CCR == "0") != 0;

            //var missingCostToCharge = viewmodel.WebsiteDataService.GetHospitalsCountForValidation(crit) != 0;
            return(missingCostToCharge);
        }
        public ActionResult RegisterFrontEnd(string Slug, string TokenHash = null)
        {
            WebsiteViewModel vm = _GetViewModel(Slug);

            //adding a tokenhash to the viewmodel for registration
            vm.TokenHash = TokenHash;

            return(View(vm));
        }
        public ActionResult Index(string Slug)
        {
            //instantiate website viewmodel - majority of logic below in function as it repeats througout the various views
            WebsiteViewModel vm = _GetViewModel(Slug);

            //access the same httpcontext
            vm.Website = (Website)Request.RequestContext.RouteData.Values["Website"];

            return(View(vm));
        }
        private async Task <Websites> AddLotsOfItemsToQueue(WebsiteViewModel model)
        {
            var websites = new Collection <Websites>();

            for (int i = 0; 50 > i; i++)
            {
                var website = await AddItemToQueue(model, i);

                websites.Add(website);
            }

            return(websites.Last());
        }
Пример #16
0
        //Checks for the Navigation Parameter and changes the ViewModel to the requested Website.
        private void ContentDialog_Opened(ContentDialog sender, ContentDialogOpenedEventArgs args)
        {
            Result = RenameResult.Nothing;
            long iD = Convert.ToInt64(sender.AccessKey);

            try
            {
                Website = WebsiteViewModel.FromWebsite(WebsiteDataSource.GetWebsite(iD));
            }
            catch
            {
                Website = WebsiteViewModel.FromWebsite(WebsiteDataSource.GetDefault());
            }
        }
Пример #17
0
        public ActionResult Index(WebsiteViewModel viewModel)
        {
            var htmlString = GetHtml(viewModel);

            ManagePage(htmlString, viewModel);
            Parallel.ForEach(list, (currentElement) =>
            {
                GetInnerHtml(currentElement);
            });

            GetChart();

            return(RedirectToAction("Index"));
        }
        public void Ctor_AssignsValues()
        {
            // Arrange
            var toolMastering         = _fixture.Create <Website[]>();
            var programmingChallenges = _fixture.Create <Website[]>();
            var url = _fixture.Create <Url>();

            // Act
            var vm = new WebsiteViewModel(toolMastering, programmingChallenges, url);

            // Assert
            Assert.Equal(toolMastering, vm.ToolMastering);
            Assert.Equal(programmingChallenges, vm.ProgrammingChallenges);
            Assert.Equal(url, vm.Url);
        }
Пример #19
0
        //Checks for the Navigation Parameter and changes the WebView.Source to the requested Website.
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            long iD;

            try
            {
                iD      = Convert.ToInt64(e.Parameter);
                Website = WebsiteViewModel.FromWebsite(WebsiteDataSource.GetWebsite(iD));
            }
            catch
            {
                Website = WebsiteViewModel.FromWebsite(WebsiteDataSource.GetDefault());
            }
        }
        public ActionResult PasswordChangeConfirmFrontEnd(Guid emailGuid, string Slug)
        {
            WebsiteViewModel vm = _GetViewModel(Slug);

            //For the Email Token
            Token userToken = null;

            userToken = TokenService.userGetByGuid(emailGuid);

            string tokenhash = userToken.TokenHash.ToString();

            TokenService.tokenUsedUpdate(userToken.UserId, tokenhash);

            return(View(vm));
        }
 public IActionResult AddWebsite(WebsiteViewModel website)
 {
     try
     {
         var createWebsiteDTO = new CreateWebsiteDTO
         {
             Id = website.WebsiteId, Name = website.Name, Url = website.Url
         };
         websitesService.AddNewWebSite(createWebsiteDTO);
     }
     catch (AppException e)
     {
         return(Content(e.Message));
     }
     return(RedirectToAction("Index"));
 }
        public ActionResult ConfirmAuth(Guid emailGuid, string Slug)    //  this cannot be null
        {
            WebsiteViewModel vm = _GetViewModel(Slug);

            vm.userToken = null;
            vm.userToken = TokenService.userGetByGuid(emailGuid);

            if (vm.userToken == null || vm.userToken.Used != null)
            {
                return(View(vm));
            }

            string tokenhash = vm.userToken.TokenHash.ToString();

            TokenService.tokenUsedUpdate(vm.userToken.UserId, tokenhash);
            return(View("ConfirmSuccess", vm));
        }
        public void check_website_request_is_sent()
        {
            var applicationId = Guid.NewGuid();

            var vm = new WebsiteViewModel
            {
                Status           = SectionReviewStatus.Pass,
                SourcesCheckedOn = DateTime.Now,
                ErrorMessages    = new List <ValidationErrorDetail>()
            };

            _orchestrator.Setup(x => x.GetWebsiteViewModel(It.IsAny <GetWebsiteRequest>())).ReturnsAsync(vm);

            var result     = _controller.GetWebsitePage(applicationId).Result;
            var viewResult = result as ViewResult;

            Assert.AreEqual(viewname, viewResult.ViewName);
        }
        public async Task <IActionResult> CreateOrUpdate([FromForm] WebsiteViewModel input)
        {
            var model = new WebsiteModel()
            {
                Name     = input.Name,
                Url      = input.Url,
                Category = input.Category,
                Login    = new LoginModel()
                {
                    Email    = input.Login.Email,
                    Password = HashPassword.GetHashedPassword(input.Login.Password),
                },
                IsDeleted        = false,
                HomepageSnapshot = ImageToByteArray(input.Image)
            };

            var record = await this.websiteRepository.CreateOrUpdate(model);

            return(Ok(record));
        }
        private async Task <Websites> AddItemToQueue(WebsiteViewModel model, int index)
        {
            using (var context = new PerformancePresentationContext())
            {
                var website = new Websites
                {
                    Name   = model.Name + " - " + index,
                    Url    = model.Url,
                    IsDone = false
                };

                context.Websites.Add(website);

                await context.SaveChangesAsync();

                await _azureQueueService.AddItemToQueue(website);

                return(website);
            }
        }
        public void post_website_address_happy_path()
        {
            var applicationId = Guid.NewGuid();
            var pageId        = GatewayPageIds.WebsiteAddress;

            var vm = new WebsiteViewModel
            {
                ApplicationId    = applicationId,
                Status           = SectionReviewStatus.Pass,
                SourcesCheckedOn = DateTime.Now,
                ErrorMessages    = new List <ValidationErrorDetail>(),
                OptionPassText   = comment,
                PageId           = pageId
            };
            var command = new SubmitGatewayPageAnswerCommand(vm);

            var result = _controller.EvaluateWebsitePage(command).Result;

            ApplyApiClient.Verify(x => x.SubmitGatewayPageAnswer(applicationId, pageId, vm.Status, UserId, Username, comment, null));
            _orchestrator.Verify(x => x.GetWebsiteViewModel(new GetWebsiteRequest(applicationId, UserId, Username)), Times.Never());
        }
Пример #27
0
        public ActionResult Edit(WebsiteViewModel viewModel, int?page)
        {
            if (ModelState.IsValid)
            {
                var website = AutoMapper.Mapper.Map <WebsiteViewModel, IWebsite>(viewModel);
                if (viewModel.SelectedPackageConfigurationId > 0)
                {
                    website.PackageConfiguration = PackageConfigurationService.GetById(viewModel.SelectedPackageConfigurationId);

                    var appPool = AutoMapper.Mapper.Map <ApplicationPoolViewModel, IApplicationPool>(viewModel.ApplicationPool as ApplicationPoolViewModel);

                    website.ApplicationPool = ApplicationPoolService.CreateOrUpdate(appPool);
                }
                WebsiteService.CreateOrUpdate(website);
            }
            else
            {
                viewModel.PackageConfigurations = PackageConfigurationService.GetAll().ToList();
                return(View(viewModel));
            }

            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> Add(WebsiteViewModel model)
        {
            if (ModelState.IsValid)
            {
                bool doHellOfALotRequests = false;

                Websites website;

                if (doHellOfALotRequests)
                {
                    website = await AddLotsOfItemsToQueue(model);
                }
                else
                {
                    website = await AddItemToQueue(model, 0);
                }


                return(RedirectToAction("Processing", new { id = website.Id }));
            }

            return(View(model));
        }
        public async Task <WebsiteViewModel> GetWebsiteViewModel(GetWebsiteRequest request)
        {
            _logger.LogInformation($"Retrieving Website check details for application {request.ApplicationId}");

            var model = new WebsiteViewModel();
            await model.PopulatePageCommonDetails(_applyApiClient, request.ApplicationId, GatewaySequences.OrganisationChecks,
                                                  GatewayPageIds.WebsiteAddress,
                                                  request.UserId,
                                                  request.UserName,
                                                  RoatpGatewayConstants.Captions.OrganisationChecks,
                                                  RoatpGatewayConstants.Headings.Website,
                                                  NoSelectionErrorMessages.Errors[GatewayPageIds.WebsiteAddress]);

            model.SubmittedWebsite = await _applyApiClient.GetOrganisationWebsiteAddress(request.ApplicationId);

            var isSubmittedWebsiteProperUri = StringExtensions.ValidateHttpURL(model.SubmittedWebsite, out Uri submittedWebsiteProperUri);

            if (isSubmittedWebsiteProperUri)
            {
                model.SubmittedWebsiteUrl = submittedWebsiteProperUri?.AbsoluteUri;
            }

            var ukrlpDetails = await _applyApiClient.GetUkrlpDetails(request.ApplicationId);

            if (ukrlpDetails != null && ukrlpDetails.ContactDetails != null)
            {
                model.UkrlpWebsite = ukrlpDetails.ContactDetails.FirstOrDefault(x => x.ContactType == RoatpGatewayConstants.ProviderContactDetailsTypeLegalIdentifier)?.ContactWebsiteAddress;

                var isUkrlpWebsiteProperUri = StringExtensions.ValidateHttpURL(model.UkrlpWebsite, out Uri ukrlpWebsiteProperUri);
                if (isUkrlpWebsiteProperUri)
                {
                    model.UkrlpWebsiteUrl = ukrlpWebsiteProperUri?.AbsoluteUri;
                }
            }

            return(model);
        }
        //get viewmodel function created for majority of logic needed to inject website view model with appropriate data
        private WebsiteViewModel _GetViewModel(string Slug)
        {
            //null check on slug, if null load bringpro website by default
            //added for the azure hosted version
            if (Slug == null)
            {
                Slug = "bringpro";
            }

            //instantiate new instance of website view model
            WebsiteViewModel vm = new WebsiteViewModel();

            vm.Slug               = Slug;                    // add website slug to view model
            vm.CategoryEnum       = SettingsCategory.String; //adding enums to the viewmodel
            vm.SettingTypeEnum    = SettingsType.Design;
            vm.SettingSectionEnum = SettingsSection.Layout;

            WebsiteSettingsServices websiteService = new WebsiteSettingsServices(); // instantiate a new instance of website settings service
            //generate a new list of website settings - populated by service that loads settings by website slug
            List <WebsiteSettings> WebsiteBySlug = websiteService.GetSettingsBySlug(Slug);

            vm.Settings = WebsiteBySlug;
            if (vm.Settings.Count < 1 && Slug != "backoffice")
            {
                throw new HttpException(404, "Website Does Not Exist");
            }

            //if website exists - load a model of website
            if (Slug != null && Slug != "")
            {
                vm.Website = WebsiteService.websiteGetBySlug(Slug);
            }

            //returning the viewmodel after populating with website settings model and website model
            // both have different fields of data
            return(vm);
        }