protected void Page_Load(object sender, EventArgs e) { //return; if (!IsPostBack) { ModuleTitleText.InnerText = ModuleTitle; } BusinessLogicLayer.Entities.FormBuilder.FormDocument document = BusinessLogicLayer.Common.FormDocumentLogic.GetByID(9); if(document.FormFields.Count > 0) DataSource = document.FormFields[0]; if (Request.Cookies["MnatiqPoll"] == null || string.IsNullOrEmpty(Request.Cookies["MnatiqPoll"].Values[DataSource.FormFieldId.ToString()])) { CommonWeb.Common.PollGenerator.GeneratePoll(PollQuestionContainer, document); //Answers.Visible = false; } else { //Questions.Visible = false; Answers.InnerHtml = new ControlsManagement().GetPollResult(DataSource.FormFieldId,"~/Controls/Forms/PollResult.ascx"); Answers.Style["display"] = "block"; } }
protected void saveCallBack_Callback(object source, DevExpress.Web.ASPxCallback.CallbackEventArgs e) { JsonSerializer serializer = new JsonSerializer(); StringReader reader = new StringReader(e.Parameter); using (JsonReader jsonReader = new JsonTextReader(reader)) { SurveyJSON p = (SurveyJSON)serializer.Deserialize(jsonReader, typeof(SurveyJSON)); if (p != null) { #region SavingSurvey //int languageId = BusinessLogicLayer.Common.LanguagesLogic.GetByLanguageCode("en-us").LanguageId; CurrentSurvey.ConfirmationText = txtSurveySubmitReply.Html; CurrentSurvey.SendEmail = chkSendEmail.Checked; CurrentSurvey.Description = p.Description; CurrentSurvey.Title = p.Title; if (CurrentSurvey.NewRecord) { CurrentSurvey.FormDocumentStatusID = 1; CurrentSurvey.StartDate = DateTime.Now; BusinessLogicLayer.Common.FormDocumentLogic.Insert(CurrentSurvey); } else BusinessLogicLayer.Common.FormDocumentLogic.Update(CurrentSurvey, CurrentSurvey.FormDocumentID); int orderId = 1; StringBuilder questionsIds = new StringBuilder(); foreach (QuestionsJSON q in p.Questions) { if (q.Id == -1) { #region Adding Question BusinessLogicLayer.Entities.FormBuilder.FormField question = new BusinessLogicLayer.Entities.FormBuilder.FormField(); question.HasOther = q.HasOther; question.IsRequired = Convert.ToBoolean(q.IsRequired); question.IsSection = q.IsSection; question.IsContactEmail = q.IsContactEmail; question.IsContactMobile = q.IsContactMobile; question.FormFieldOrder = q.QuestionOrder; question.FormFieldTypeId = q.QuestionType; question.FormDocumentId = CurrentSurvey.FormDocumentID; question.HelpText = q.Help; question.Title = q.Title; BusinessLogicLayer.Common.FormFieldLogic.Insert(question); BusinessLogicLayer.Common.FormFieldColumnLogic.DeleteByFormFieldId(question.FormFieldId); for (int i = 0; i < q.ColumnCount; i++) { if (i == 0) BusinessLogicLayer.Common.FormFieldColumnLogic.Insert(question.FormFieldId, q.Column1, "", 10); else if (i == 1) BusinessLogicLayer.Common.FormFieldColumnLogic.Insert(question.FormFieldId, q.Column2, "", 10); else if (i == 2) BusinessLogicLayer.Common.FormFieldColumnLogic.Insert(question.FormFieldId, q.Column3, "", 10); else if (i == 3) BusinessLogicLayer.Common.FormFieldColumnLogic.Insert(question.FormFieldId, q.Column4, "", 10); else if (i == 4) BusinessLogicLayer.Common.FormFieldColumnLogic.Insert(question.FormFieldId, q.Column5, "", 10); } foreach (AnswerJSON a in q.Answeres) { if (a.Id == 0) continue; BusinessLogicLayer.Entities.FormBuilder.FormFieldValue questionAnswer = new BusinessLogicLayer.Entities.FormBuilder.FormFieldValue(); questionAnswer.FieldGrade = 10; questionAnswer.IsOther = a.IsOther; questionAnswer.FormFieldId = question.FormFieldId; questionAnswer.FieldValue = a.AnswerText; BusinessLogicLayer.Common.FormFieldValueLogic.Insert(questionAnswer); } if (question.FormFieldTypeId == 3 || question.FormFieldTypeId == 4) { BusinessLogicLayer.Entities.FormBuilder.FormFieldValue questionAnswer = new BusinessLogicLayer.Entities.FormBuilder.FormFieldValue(); questionAnswer.FieldGrade = 10; questionAnswer.IsOther = true; questionAnswer.FormFieldId = question.FormFieldId; questionAnswer.FieldValue = ""; BusinessLogicLayer.Common.FormFieldValueLogic.Insert(questionAnswer); } #endregion questionsIds.Append(question.FormFieldId + ","); } else { #region Update Question BusinessLogicLayer.Entities.FormBuilder.FormField question = BusinessLogicLayer.Common.FormFieldLogic.GetByID(q.Id); question.CurrentDocument = CurrentSurvey; question.HasOther = q.HasOther; question.IsRequired = Convert.ToBoolean(q.IsRequired); question.IsSection = q.IsSection; question.IsContactEmail = q.IsContactEmail; question.IsContactMobile = q.IsContactMobile; question.FormFieldOrder = q.QuestionOrder; question.FormFieldTypeId = q.QuestionType; question.FormDocumentId = CurrentSurvey.FormDocumentID; question.HelpText = q.Help; question.Title = q.Title; BusinessLogicLayer.Common.FormFieldLogic.Update(question, question.FormFieldId); StringBuilder currentAnswersId = new StringBuilder(); foreach (AnswerJSON a in q.Answeres) { if (a.Id == -1) { #region Adding Answer BusinessLogicLayer.Entities.FormBuilder.FormFieldValue questionAnswer = new BusinessLogicLayer.Entities.FormBuilder.FormFieldValue(); questionAnswer.FieldGrade = 10; questionAnswer.FormFieldId = question.FormFieldId; questionAnswer.IsOther = a.IsOther; questionAnswer.FieldValue = a.AnswerText; BusinessLogicLayer.Common.FormFieldValueLogic.Insert(questionAnswer); #endregion currentAnswersId.Append(questionAnswer.FormFieldValueId + ","); } else if (a.Id != 0) { #region Updating Answer BusinessLogicLayer.Entities.FormBuilder.FormFieldValue questionAnswer = BusinessLogicLayer.Common.FormFieldValueLogic.GetByID(a.Id); if (questionAnswer == null) continue; questionAnswer.CurrentFormField = question; questionAnswer.FieldGrade = 10; questionAnswer.IsOther = a.IsOther; questionAnswer.FieldValue = a.AnswerText; BusinessLogicLayer.Common.FormFieldValueLogic.Update(questionAnswer, questionAnswer.FormFieldValueId); #endregion currentAnswersId.Append(questionAnswer.FormFieldValueId + ","); } } if (question.FormFieldTypeId == 3 || question.FormFieldTypeId == 4) { if (question.FormFieldValues == null || question.FormFieldValues.Count == 0) { BusinessLogicLayer.Entities.FormBuilder.FormFieldValue questionAnswer = new BusinessLogicLayer.Entities.FormBuilder.FormFieldValue(); questionAnswer.FieldGrade = 10; questionAnswer.IsOther = true; questionAnswer.FormFieldId = question.FormFieldId; questionAnswer.FieldValue = ""; BusinessLogicLayer.Common.FormFieldValueLogic.Insert(questionAnswer); currentAnswersId.Append(questionAnswer.FormFieldValueId + ","); } else { BusinessLogicLayer.Entities.FormBuilder.FormFieldValue questionAnswer = question.FormFieldValues[0]; currentAnswersId.Append(questionAnswer.FormFieldValueId + ","); } } if (currentAnswersId.Length > 0) { string lastAnswersIds = currentAnswersId.ToString().Substring(0, currentAnswersId.Length - 1); BusinessLogicLayer.Common.FormFieldValueLogic.Delete(lastAnswersIds, question.FormFieldId.ToString()); } #endregion questionsIds.Append(question.FormFieldId + ","); } orderId++; } if (questionsIds.Length > 0) { string lastquestionsIds = questionsIds.ToString().Substring(0, questionsIds.Length - 1); BusinessLogicLayer.Common.FormFieldLogic.Delete(lastquestionsIds, CurrentSurvey.FormDocumentID.ToString()); } #endregion } } }