コード例 #1
0
        public ActionResult SubmitContactUsForm(ContactUs model)
        {
            if (ModelState.IsValid)
            {
                string encodedResponse = Request.Form["g-Recaptcha-Response"];
                var    response        = ReCaptcha.Validate(encodedResponse, SensativeInformation.ReCaptchaKeys.ReCaptchaSecretKey);
                bool   isCaptchaValid  = response.ToLower() == "true"
                        ? true
                        : false;
                if (!isCaptchaValid)
                {
                    ModelState.AddModelError("", "Please verify you are not a robot");
                    return(CurrentUmbracoPage());
                }

                ContactUsEmailModel emailModel = new ContactUsEmailModel();
                emailModel.Info    = model;
                emailModel.BaseUri = UrlHelpers.GetBaseUrl();
                ViewData.Model     = emailModel;
                var html         = RazorHelpers.RenderRazorViewToString("~/Views/Emails/ContactUsEmail.cshtml", ControllerContext, ViewData, TempData);
                var emailService = new EmailService.EmailHelpers();
                emailService.SendEmail("*****@*****.**", "Query from contact form", html);
                TempData["Success"] = "That is winging its way to us now. We will be in contact as soon as we can.";
                return(RedirectToCurrentUmbracoPage());
            }
            return(CurrentUmbracoPage());
        }
コード例 #2
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            XmlNodeList zone = null;

            if (XmlDocument != null)
            {
                zone = XmlDocument.SelectNodes("//widget");
            }
            if (zone == null)
            {
                return;
            }
            foreach (XmlNode widget in zone)
            {
                var fileName = string.Format("{0}Custom/Widgets/{1}/widget.cshtml",
                                             Utils.ApplicationRelativeWebRoot,
                                             widget.InnerText);
                try
                {
                    if (widget.InnerText != "TagCloud")
                    {
                        var model = new { Id    = widget.Attributes["id"].Value, Name = widget.InnerText,
                                          Title = (widget.Attributes["title"].Value == "PostList" ? "Resent posts" : widget.Attributes["title"].Value) };

                        var lit = new Literal {
                            Text = RazorHelpers.ParseRazor(fileName, model)
                        };
                        Controls.Add(lit);
                    }
                }
                catch (Exception ex)
                {
                    var lit = new Literal
                    {
                        Text = string.Format("<p style=\"color:red\">Widget {0} not found, check log for details.<p>", widget.InnerText)
                    };
                    Controls.Add(lit);
                    Utils.Log("WidgetZone.OnLoad", ex);
                }
            }
        }
コード例 #3
0
    private void ParseAndInjectRazor()
    {
        string parsedRazor = RazorHelpers.ParseRazor(RazorHelpers.RAZOR_HOST_PAGE_VPATH, null);

        if (!string.IsNullOrWhiteSpace(parsedRazor))
        {
            Regex headRgx   = new Regex("<head\\b[^>]*>(.*?)</head>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
            Match headMatch = headRgx.Match(parsedRazor);
            if (headMatch.Success)
            {
                string headContent = headMatch.Groups[1].Value;

                // remove the <title> tag.
                headContent = new Regex("<title\\b[^>]*>(.*?)</title>", RegexOptions.IgnoreCase | RegexOptions.Singleline).Replace(headContent, string.Empty);

                phRazorHead.Controls.Add(new LiteralControl(headContent));
            }

            Regex bodyRgx   = new Regex("<body\\b([^>]*)>(.*?)</body>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
            Match bodyMatch = bodyRgx.Match(parsedRazor);
            if (bodyMatch.Success)
            {
                string bodyAttributes = bodyMatch.Groups[1].Value.Trim();
                if (!string.IsNullOrWhiteSpace(bodyAttributes))
                {
                    this.BodyAttributes = " " + bodyAttributes;
                }

                string body = bodyMatch.Groups[2].Value;

                int placeHolderPos = body.IndexOf(RazorHelpers.PAGE_BODY_MARKER, StringComparison.OrdinalIgnoreCase);
                if (placeHolderPos != -1)
                {
                    string beforePlaceholderMarkup = body.Substring(0, placeHolderPos);
                    string afterPlaceholderMarkup  = body.Substring(placeHolderPos + RazorHelpers.PAGE_BODY_MARKER.Length);

                    phBeforePageBody.Controls.Add(new LiteralControl(beforePlaceholderMarkup));
                    phAfterPageBody.Controls.Add(new LiteralControl(afterPlaceholderMarkup));
                }
            }
        }
    }
コード例 #4
0
        public static void MembershipRenewalReminders()
        {
            HttpContextWrapper c = new HttpContextWrapper(HttpContext.Current);
            RouteData routeData = new RouteData();
            routeData.Values.Add("controller", typeof(MembershipSurfaceController).Name.ToLower().Replace("controller", ""));
            ControllerContext controllerContext = new ControllerContext(new RequestContext(c, routeData), new MembershipSurfaceController());
            ViewDataDictionary viewData = new ViewDataDictionary();
            TempDataDictionary tempData = new TempDataDictionary();


            DataManager dm = new DataManager();
            var members = dm.GetCurrentMemberships();
            //send reminder a week before

            var model = new MembershipRenewal();
            model.BaseUri = System.Web.HttpContext.Current.Request.Url.Scheme + "://" + System.Web.HttpContext.Current.Request.Url.Authority + System.Web.HttpContext.Current.Request.ApplicationPath.TrimEnd('/');
            ViewData.Model = model;
            var html = RazorHelpers.RenderRazorViewToString("~/Views/Reports/VehicleRegistrationReport.cshtml",
                ControllerContext, ViewData, TempData);
            var stream = pdfService.GenertatePdfFromHtml(html);


            foreach (var m in members.Where(n => n.EndDate.Date >= DateTime.UtcNow.Date.AddDays(-100)).ToList())
            {
                if(m.IsSubscription)
                    html = RazorHelpers.RenderRazorViewToString("")

            }

            foreach (var m in members.Where(n => n.EndDate.Date >= DateTime.UtcNow.Date).ToList())
            {
                Debug.WriteLine($"Membership a week from renewal. Member id: {m.Member} End date: {m.EndDate} MembershipId: {m.MembershipId}");
            }


        }