public int SaveFormSubmission(FormSubmissionsRecord Submission) { _formSubmissionsRepository.Insert(Submission); return(Submission.Id); }
public void UpdateFormSubmission(FormSubmissionsRecord Submission) { _formSubmissionsRepository.Update(Submission); }
public JsonResult FormSubmit() { try { var formidstr = Request["formid"]; int formid; if (formidstr != null && formidstr != "" && Int32.TryParse(formidstr, out formid)) { var form = _formService.GetFormById(formid); var currentCustomer = _authenticationService.GetAuthenticatedCustomer(); string emailbody = ""; emailbody += "<b>A new " + form.FormName + " submitted with the below details:</b><hr/>"; //add new form submission var formsubmission = new FormSubmissionsRecord(); formsubmission.FormId = formid; if (currentCustomer != null) { formsubmission.CustomerId = currentCustomer.Id; formsubmission.SenderEmail = currentCustomer.Email; } formsubmission.SubmitDate = DateTime.Now; int submissionid = _formService.SaveFormSubmission(formsubmission); //get form fields var formfields = _formService.GetFormFieldsNoPaging(formid).ToList(); //get fields values //add new submission value for each field foreach (var field in formfields) { string fieldvalue = ""; if (!field.IsForAdminOnly) { fieldvalue = Request["field" + field.Id]; } FormSubmissionsValuesRecord valuerecord = new FormSubmissionsValuesRecord(); valuerecord.FieldValue = fieldvalue; valuerecord.FormFieldId = field.Id; valuerecord.SubmissionId = submissionid; _formService.SaveFieldValue(valuerecord); if (!field.FieldType.Contains("Display")) { emailbody += "<b>" + field.FieldName + ":</b>" + fieldvalue + "<br/>"; } } emailbody += "<br/>click <a href='" + _storeContext.CurrentStore.Url + "Admin/Forms/SubmissionPreview/" + submissionid.ToString() + "'>here</a> to view submitted form"; //send email to form admin that a new form was submitted var emailAccount = _emailAccountService.GetEmailAccountById(_emailAccountSettings.DefaultEmailAccountId); var toemails = form.AdminEmails.Split(','); foreach (var toemail in toemails) { try { _emailSender.SendEmail(emailAccount, "New " + form.FormName + " submitted.", emailbody, (currentCustomer != null ? currentCustomer.Email : emailAccount.Email), (currentCustomer != null ? currentCustomer.Username : emailAccount.DisplayName), toemail, toemail); } catch { } } return(Json(form.FormName + " successfully submitted.", JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { } return(Json("Error occured! please try again later or contact administration.", JsonRequestBehavior.AllowGet)); }