public virtual ActionResult Success(XFormPostedData xFormPostedData) { var data = xFormPostedData.XFormFragments.ToList(); var subject = Translate("/niteco/emailtemplate/subject").Replace("{FullName}", data[0].Value) .Replace("\n", ""); var templateBody = Translate("/niteco/emailtemplate/body"); var body = templateBody.Replace("{FullName}", data[0].Value) .Replace("{Email}", data[1].Value) .Replace("{Phone}", data[2].Value) .Replace("{Country}", data[3].Value) .Replace("{Message}", data[4].Value) .Replace("\n", "<br>"); var emailToSend = SiteSettingsHandler.Instance.SiteSettings.EmailAdmin; var emailService = ServiceLocator.Current.GetInstance <IEmailService>(); if (!string.IsNullOrEmpty(emailToSend)) { emailService.SendEmail(emailToSend, data[0].Value, subject, body, true); } TempData["xformPosted"] = true; return(new RedirectResult(Url.Action("Index") + "#contact-form")); //return RedirectToAction("Index", new { language = PageContext.LanguageID }); }
public virtual ActionResult Index(EventPageBase currentPage, XFormPostedData xFormPostedData, string contentLink) { var model = CreateEventRegistrationModel(currentPage, contentLink); var id = (currentPage as IContent).ContentLink.ID; var viewDataKey = string.Format("TempViewData_{0}", id); this.ViewData["XFormFragments"] = (object)xFormPostedData.Fragments; this.ControllerContext.Controller.ViewData["XFormFragments"] = (object)xFormPostedData.Fragments; this.TempData[viewDataKey] = this.ViewData; model.ViewData = this.ViewData; model.ViewDataKey = viewDataKey; string participantEmail = ""; foreach (var fragment in xFormPostedData.Fragments) { if (fragment as EPiServer.XForms.Parsing.InputFragment != null) { string fragmentReference = (fragment as EPiServer.XForms.Parsing.InputFragment).Reference.ToLower(); if (fragmentReference == "epost" || fragmentReference == "email" || fragmentReference == BVNetwork.Attend.Business.Settings.Settings.GetSetting("emailFieldName")) { participantEmail = (fragment as EPiServer.XForms.Parsing.InputFragment).Value; } } } string xformdata = new EPiServer.Web.Mvc.XForms.XFormPageHelper().GetXFormData(this, xFormPostedData).Data.InnerXml; var metadata = ModelMetadataProviders.Current.GetMetadataForType(null, typeof(XFormPostedData)); var validationResult = new XFormValidator(metadata, this.ControllerContext).Validate(xFormPostedData); model.Messages = new List <string>(); foreach (var a in validationResult) { if (!string.IsNullOrEmpty(a.Message)) { model.Messages.Add(a.Message); } } if (Business.Email.Validation.IsEmail(participantEmail) == false) { model.Messages.Add(EPiServer.Framework.Localization.LocalizationService.Current.GetString("/attend/edit/emailmissing")); } if (Business.Email.Validation.IsEmail(participantEmail) == false || model.Messages.Count > 0) { model.PostedData = xFormPostedData; _xformHandler.HandleAction(this); return(PartialView("~/modules/BVNetwork.Attend/Views/Pages/Partials/EventPagePartial.cshtml", model)); } IParticipant participant = AttendRegistrationEngine.GenerateParticipation(model.EventPageBase.ContentLink, participantEmail, true, xformdata, "Participant submitted form"); participant.XForm = xformdata; //Add sessions to participant participant.Sessions = new ContentArea(); foreach (var key in Request.Form.AllKeys) { if (key.StartsWith("Session")) { var sessionContentReference = new ContentReference(Request[key]); participant.Sessions.Items.Add(new ContentAreaItem() { ContentLink = sessionContentReference }); } } _contentRepository.Save(participant as IContent, SaveAction.Publish, AccessLevel.NoAccess); model.Submitted = participant.AttendStatus.ToLower() == "submitted"; ViewBag.Participant = participant; return(PartialView("~/modules/BVNetwork.Attend/Views/Pages/Partials/EventPagePartialSuccess.cshtml", model)); }
public ActionResult DoSubmit(XFormPostedData xFormpostedData) { return(_xformHandler.HandleAction(this)); }
public ActionResult Failed(EventPageBase currentPage, XFormPostedData xFormPostedData, string contentLink) { var model = CreateEventRegistrationModel(currentPage, contentLink); return(View("Index", model)); }
public virtual ActionResult XFormPost(XFormPostedData xFormpostedData, string contentId) { _contentId = contentId; //ValidateReCaptcha(); return(_xformHandler.HandleAction(this)); }
public virtual ActionResult Failed(XFormPostedData xFormPostedData) { return(new RedirectResult(Url.Action("Index") + "#contact-form")); }