public virtual async Task <IActionResult> TermsOfUse(AcceptTermsViewModel model)
        {
            if (!AccountService.IsSignedIn(User) || string.IsNullOrWhiteSpace(CurrentSite.RegistrationAgreement))
            {
                return(this.RedirectToSiteRoot(CurrentSite));
            }

            if (!ModelState.IsValid)
            {
                ViewData["Title"]      = StringLocalizer["Registration Agreement Required"];
                model.TermsUpdatedDate = await TimeZoneHelper.ConvertToLocalTime(CurrentSite.TermsUpdatedUtc);

                model.AgreementRequired     = true;
                model.RegistrationAgreement = CurrentSite.RegistrationAgreement;
                model.RegistrationPreamble  = CurrentSite.RegistrationPreamble;

                return(View(model));
            }

            var result = await AccountService.AcceptRegistrationAgreement(User);

            //return Redirect("/");
            if (result)
            {
                return(this.RedirectToSiteRoot(CurrentSite));
            }

            return(View(model));
        }