private SiteUser PopulateSiteUser(UserCore userCore) { if (userCore == null) { return(null); } var agreementPage = ContentExtensions.GetUserAgreementPage(); if (agreementPage == null) { return(new SiteUser(userCore)); } var userAcceptedAgreement = _userTermsOfUseRepository.CheckUserAccepts(userCore.UserId, agreementPage.TermId); return(new SiteUser(userCore) { AcceptedAgreementVersion = userAcceptedAgreement ? agreementPage.Version : -1 }); }
void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext) { var siteUser = filterContext.HttpContext.GetSiteUser(); if (siteUser == null || filterContext.Controller is UserAgreementsPageController) { base.OnActionExecuting(filterContext); return; } var agreementPage = ContentExtensions.GetUserAgreementPage(); if (agreementPage != null && siteUser.AcceptedAgreementVersion < agreementPage.Version) { var userAgreementRef = ContentExtensions.GetSettingsPage()?.UserAgreementPage; var userAgreementLink = LinkHelpers.GetFriendlyLinkOfPage(userAgreementRef); filterContext.Result = new RedirectResult(userAgreementLink); return; //filterContext.HttpContext.Response.Redirect(userAgreementLink, true); } base.OnActionExecuting(filterContext); }