/// <summary> /// Deserialize the properties from the datastore and /// populate the local properties /// </summary> /// <param name="answerId">answer owner of the properties</param> protected virtual object Deserialize(int answerId) { byte[] buffer = new Answers().RestoreAnswerProperties(answerId); object obj2 = null; if (buffer != null) { MemoryStream serializationStream = null; try { serializationStream = new MemoryStream(buffer); obj2 = new BinaryFormatter().Deserialize(serializationStream); } catch (SerializationException) { obj2 = new Hashtable(); } finally { if (serializationStream != null) { serializationStream.Close(); } } } return obj2; }
private Table GenerateFileList(string groupGuid, Style tableStyle) { Table table = Votations.NSurvey.BE.Votations.NSurvey.Constants.Commons.GetCentPercentTable();//JJ; table.ControlStyle.CopyFrom(tableStyle); table.Rows.Clear(); FileData guidFiles = new Votations.NSurvey.DataAccess.Answers().GetGuidFiles(groupGuid); if (guidFiles.Files.Rows.Count > 0) { foreach (FileData.FilesRow row in guidFiles.Files) { table.Rows.Add(this.GetFileRow(row.FileId, row.GroupGuid, row.FileSize, row.FileName, row.FileType)); } return(table); } TableRow row2 = new TableRow(); TableCell cell = new TableCell(); cell.Text = ResourceManager.GetString("NoFileUploadedMessage", base.LanguageCode); row2.Cells.Add(cell); table.Rows.Add(row2); return(table); }
/// <summary> /// Generates the answers list for the question /// </summary> /// <param name="questionId"></param> /// <param name="onlyAnswered">show only answers that have been answered</param> string GenerateAnswersReport(int questionId, bool onlyAnswered, int sectionNumber) { StringBuilder answersReport = new StringBuilder(); AnswerData questionAnswers = new Answers().GetAnswers(questionId, null); int longestTextLength = GetLongestAnswerLength(questionAnswers); foreach (AnswerData.AnswersRow answer in questionAnswers.Answers.Rows) { AnswerTypeMode typeMode = (AnswerTypeMode) answer.TypeMode; VoterAnswersData.VotersAnswersRow voterAnswer = _voterAnswers.VotersAnswers.FindByVoterIdAnswerIdSectionNumber(_voterAnswers.Voters[0].VoterId , answer.AnswerId, sectionNumber); string answerText = new PipeManager().PipeValuesInText(questionId, answer.AnswerText, _voterAnswers.VotersAnswers, null); if (voterAnswer != null) { // Check answer type if ((((typeMode & AnswerTypeMode.Field) > 0) || ((typeMode & AnswerTypeMode.Custom) > 0) || ((typeMode & AnswerTypeMode.DataSource) > 0)) && ((typeMode & AnswerTypeMode.Selection) == 0)) { if (voterAnswer.AnswerText.Length > 0) { answersReport.Append(" " + answerText + GenerateMissingSpaces(answerText.Length, longestTextLength) + " " + voterAnswer.AnswerText + Environment.NewLine + "<br />"); } else if (!onlyAnswered) { answersReport.Append(" " + answerText + GenerateMissingSpaces(answerText.Length, longestTextLength) + " " + ResourceManager.GetString("AnswerNotAnsweredMessage") + Environment.NewLine + "<br />"); } } else if (((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.Field) > 0 && ((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.Selection) > 0) { answersReport.Append( " " + answerText + GenerateMissingSpaces(answerText.Length, longestTextLength) + " [x] " +voterAnswer.AnswerText+ Environment.NewLine + "<br />"); _questionScore += answer.ScorePoint; } else if(((AnswerTypeMode)typeMode & AnswerTypeMode.Upload) > 0) { answersReport.Append( " " + answerText + GenerateMissingSpaces(answerText.Length, longestTextLength) + " " +GenerateFileList(voterAnswer.AnswerText)+ Environment.NewLine + "<br />"); } else { answersReport.Append( " " + answerText + GenerateMissingSpaces(answerText.Length, longestTextLength) + " [x]" + Environment.NewLine + "<br />"); _questionScore += answer.ScorePoint; } } else if (!onlyAnswered) { // Check answer type if ((((typeMode & AnswerTypeMode.Field) > 0) || ((typeMode & AnswerTypeMode.Custom) > 0) || ((typeMode & AnswerTypeMode.DataSource) > 0)) && ((typeMode & AnswerTypeMode.Selection) == 0)) { answersReport.Append(" " + answerText + GenerateMissingSpaces(answerText.Length, longestTextLength) + " " + ResourceManager.GetString("AnswerNotAnsweredMessage")+ Environment.NewLine + "<br />"); } else if ( ((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.Field) > 0 && ((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.Selection) > 0) { answersReport.Append( " " + answerText + GenerateMissingSpaces(answerText.Length, longestTextLength) + " [] " +ResourceManager.GetString("AnswerNotAnsweredMessage")+ Environment.NewLine + "<br />"); } else { answersReport.Append( " " + answerText + GenerateMissingSpaces(answerText.Length, longestTextLength) + " []" + Environment.NewLine + "<br />"); } } } return answersReport.ToString(); }
/// <summary> /// Bind the list and mark field answer /// with a negative answer id value /// </summary> private void BindAnswerDropDownList() { AnswerData answers = new Answers().GetAnswersList(int.Parse(QuestionFilterDropdownlist.SelectedValue)); AnswerFilterDropdownlist.Items.Clear(); AnswerFilterDropdownlist.Items.Add(new ListItem(GetPageResource("AnyAnswerMessage"), "0")); foreach (AnswerData.AnswersRow answerRow in answers.Answers) { if ((((AnswerTypeMode)answerRow.TypeMode & AnswerTypeMode.Field) > 0) || (((AnswerTypeMode)answerRow.TypeMode & AnswerTypeMode.Custom) > 0) || (((AnswerTypeMode)answerRow.TypeMode & AnswerTypeMode.DataSource) > 0)) { // Mark field answer with a negative answerid AnswerFilterDropdownlist.Items.Add(new ListItem(answerRow.AnswerText +" "+ GetPageResource("TextEntryInfo"), (-answerRow.AnswerId).ToString())); } else { AnswerFilterDropdownlist.Items.Add(new ListItem(answerRow.AnswerText +" "+ GetPageResource("SelectionInfo"), answerRow.AnswerId.ToString())); } } }
/// <summary> /// Export the files of the survey to the directory and /// returns the total of bytes exported /// </summary> public int ExportAnswerFilesToDirectory(int surveyId, string path, FileExportMode exportMode) { int num; int num2 = 0; Hashtable savedFiles = new Hashtable(); foreach (FileData.FilesRow row in new Answers().GetValidatedFileAnswers(surveyId, 1, 10, out num).Files) { string str = path; if (exportMode == FileExportMode.VoterFileGroup) { if (!Directory.Exists(path + row.VoterId)) { Directory.CreateDirectory(path + row.VoterId); } str = path + row.VoterId + '/'; } else if (exportMode == FileExportMode.GuidFileGroup) { if (!Directory.Exists(path + row.GroupGuid)) { Directory.CreateDirectory(path + row.GroupGuid); } str = path + row.GroupGuid + '/'; } byte[] answerFileData = new Answers().GetAnswerFileData(row.FileId, row.GroupGuid); this.SaveFileToDisk(str, row.FileName, answerFileData, savedFiles); num2 += answerFileData.Length; } return num2; }
protected virtual void GenerateFileList() { // return; //JJ Return so the File is not displayed in other surveys ad this._fileTable.ControlStyle.Font.CopyFrom(base.AnswerStyle.Font); this._fileTable.ControlStyle.CssClass = "lddl"; this._fileTable.Rows.Clear(); FileData guidFiles = new Answers().GetGuidFiles(this.GroupGuid); if (guidFiles.Files.Rows.Count > 0) { foreach (FileData.FilesRow row in guidFiles.Files) { this._fileTable.Rows.Add(this.GetFileRow(row.FileId, row.GroupGuid, row.FileSize, row.FileName, row.FileType)); } } }
private Table GenerateFileList(string groupGuid) { Table fileTable = new Table(); fileTable.CssClass = "smallText"; fileTable.Rows.Clear(); // Retrieve all files that are available for this group FileData answerFiles = new Answers().GetGuidFiles(groupGuid); if (answerFiles.Files.Rows.Count > 0) { foreach (FileData.FilesRow file in answerFiles.Files) { fileTable.Rows.Add(GetFileRow(file.FileId, file.GroupGuid, file.FileSize, file.FileName, file.FileType)); } } else { TableRow fileRow = new TableRow(); TableCell fileCell = new TableCell(); fileCell.Text = GetPageResource("NoFileUploadedMessage"); fileRow.Cells.Add(fileCell); fileTable.Rows.Add(fileRow); } return fileTable; }
private void BindMatrix(DataView childQuestions, PlaceHolder container, int sectionNumber) { Table selectionTable = new Table(); TableRow selectionRow = new TableRow(), matrixHeaderRow = new TableRow(); TableCell selectionCell; // Selection cell for the answer item bool generateHeader = true; // Header generation in progress System.Web.UI.WebControls.Image spotImage = new System.Web.UI.WebControls.Image(); selectionTable.CssClass = (sectionNumber%2) == 0 ? "innerText" : "alternatingSection" ; // Creates header's first empty cell TableCell answerHeaderCell = new TableCell(); matrixHeaderRow.Cells.Add(answerHeaderCell); // Get all answer items available for this // question foreach (DataRowView questionRow in childQuestions) { selectionRow = new TableRow(); TableCell questionCell = new TableCell(); questionCell.VerticalAlign = VerticalAlign.Top; questionCell.Text = new PipeManager().PipeValuesInText( int.Parse(questionRow["QuestionId"].ToString()),questionRow["QuestionText"].ToString(), _voterAnswers.VotersAnswers, null); selectionRow.Cells.Add(questionCell); // Parse the child question's answers AnswerData questionAnswers = new Answers().GetAnswers(int.Parse(questionRow["QuestionId"].ToString()), null); foreach (AnswerData.AnswersRow answer in questionAnswers.Answers) { // New spot image spotImage = new System.Web.UI.WebControls.Image(); // Creates a new answer text in the matrix header if (generateHeader) { answerHeaderCell = new TableCell(); answerHeaderCell.VerticalAlign = VerticalAlign.Top; answerHeaderCell.HorizontalAlign = HorizontalAlign.Center; answerHeaderCell.Wrap = false; answerHeaderCell.Text = new PipeManager().PipeValuesInText(answer.QuestionId, answer.AnswerText, _voterAnswers.VotersAnswers, null); matrixHeaderRow.Cells.Add(answerHeaderCell); } // Add a new selection to the matrix's child question selectionCell = new TableCell(); selectionCell.VerticalAlign = VerticalAlign.Top; selectionCell.HorizontalAlign = HorizontalAlign.Center; selectionCell.Wrap = false; // Check if the voter has answered this answer VoterAnswersData.VotersAnswersRow voterAnswer = _voterAnswers.VotersAnswers.FindByVoterIdAnswerIdSectionNumber(_voterId, answer.AnswerId, sectionNumber); if (voterAnswer != null) { // Check answer type if ((((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.Field) > 0) || (((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.Custom) > 0) || (((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.DataSource) > 0)) { selectionCell.Text = FormatVoterAnswer(null, voterAnswer.AnswerText,true); } else if(((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.Upload) > 0) { selectionCell.Controls.Add(GenerateFileList(voterAnswer.AnswerText)); } else { spotImage.ImageUrl = "images/spot_on.gif"; selectionCell.Controls.Add(spotImage); } } else { // Check answer type if ((((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.Field) > 0) || (((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.Custom) > 0) || (((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.DataSource) > 0)) { selectionCell.Text = FormatVoterAnswer(null,null,false); } else if(((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.Upload) > 0) { selectionCell.Text = GetPageResource("NoFileUploadedMessage"); } else { spotImage.ImageUrl = "images/spot_off.gif"; selectionCell.Controls.Add(spotImage); } } selectionRow.Cells.Add(selectionCell); } // Generates the answer text header if (generateHeader) { selectionTable.Rows.Add(matrixHeaderRow); generateHeader = false; } selectionTable.Rows.Add(selectionRow); } selectionTable.Width = Unit.Percentage(100); container.Controls.Add(selectionTable); }
/// <summary> /// Get the current DB data and fill /// the fields with them /// </summary> private void BindFields() { AnswerData answer = new Answers().GetAnswerById(AnswerId, LanguageCode); AnswerTextTextBox.Text = answer.Answers[0].AnswerText; AnswerImageURLTextBox.Text = answer.Answers[0].ImageURL; DefaultTextTextBox.Text = answer.Answers[0].DefaultText; AnswerPipeAliasTextBox.Text = answer.Answers[0].AnswerPipeAlias; SelectionCheckBox.Checked = answer.Answers[0].Selected; if (AnswerTypeDropDownList.Items.FindByValue(answer.Answers[0].AnswerTypeId.ToString()) != null) { AnswerTypeDropDownList.SelectedValue = answer.Answers[0].AnswerTypeId.ToString(); } RatingPartCheckbox.Checked = answer.Answers[0].RatePart; RatingPartCheckbox.Visible = RatingEnabled; AnswerRatingLabel.Visible = RatingEnabled; ScoreTextBox.Text = answer.Answers[0].ScorePoint.ToString(); ScoreTextBox.Visible = ScoreEnabled; ScoreLabel.Visible = ScoreEnabled; MandatoryCheckBox.Checked = answer.Answers[0].Mandatory; if (!answer.Answers[0].IsRegularExpressionIdNull()) { RegExDropDownList.SelectedValue = answer.Answers[0].RegularExpressionId.ToString(); } txtAnswerAlias.Text = answer.Answers[0].AnswerAlias; txtAnswerID.Text = answer.Answers[0].AnswerIDText; SliderRangeDDL.SelectedValue = answer.Answers[0].SliderRange; SliderValueTextBox.Text = Convert.ToString(answer.Answers[0].SliderValue); SliderMinTextBox.Text = Convert.ToString(answer.Answers[0].SliderMin); SliderMaxTextBox.Text = Convert.ToString(answer.Answers[0].SliderMax); SliderAnimateCheckbox.Checked = answer.Answers[0].SliderAnimate; SliderStepTextBox.Text = Convert.ToString(answer.Answers[0].SliderStep); SetUIState(answer.Answers[0].TypeMode, false); }
void BuildCrossTabTabe() { AnswerData baseAnswers = new Answers().GetSelectableAnswers(int.Parse(BaseQuestionDropDownList.SelectedValue)), compareAnswers = new Answers().GetSelectableAnswers(int.Parse(CompareQuestionDropDownList.SelectedValue)); int compareQuestionId = int.Parse(CompareQuestionDropDownList.SelectedValue), baseQuestionId = int.Parse(BaseQuestionDropDownList.SelectedValue); DataSet totalCountData = new Questions().GetTotalCrossTabResults(compareQuestionId, baseQuestionId); Table crossTable = new Table(); crossTable.CssClass = "crossTabTable"; crossTable.Rows.Add(GenerateTableHeader(compareAnswers)); crossTable.Rows.Add(GenerateNotAnsweredRow(compareQuestionId, baseQuestionId, totalCountData)); foreach (AnswerData.AnswersRow answer in baseAnswers.Answers.Rows) { crossTable.Rows.Add(GenerateBaseRow(answer, compareQuestionId, totalCountData)); } if (totalCountData.Tables.Count > 0) { TableRow breakRow= new TableRow(); TableCell breakCell = new TableCell(); breakCell.ColumnSpan = totalCountData.Tables[0].Rows.Count + 1; breakCell.Text = " "; breakRow.Cells.Add(breakCell); crossTable.Rows.Add(breakRow); } crossTable.Rows.Add(GenerateTotalRow(totalCountData)); CrossTabResultsPlaceHolder.Controls.Add(crossTable); }
protected override void CreateChildControls() { // add original jquery .js slider script: AnswerData answer = new Answers().GetAnswerById(AnswerId, LanguageCode); string SliderScript = ""; SliderScript = "<script type='text/javascript'>"+ "$(function () { $('#slider-range-min-"+Convert.ToString(answer.Answers[0].AnswerId) +"').slider({ orientation: 'horizontal', " + "animate:"+ Convert.ToString(answer.Answers[0].SliderAnimate).ToLower() + ", range:'" +answer.Answers[0].SliderRange+ "', value:" + Convert.ToString(answer.Answers[0].SliderValue) + ", min:"+Convert.ToString(answer.Answers[0].SliderMin) + ", max:"+Convert.ToString(answer.Answers[0].SliderMax) + ", step:"+Convert.ToString(answer.Answers[0].SliderStep) + ", slide: function (event, ui) { $('#amount"+Convert.ToString(answer.Answers[0].AnswerId) + "').val('' + ui.value); } }); $('#amount"+Convert.ToString(answer.Answers[0].AnswerId) +"').val('' + $('#slider-range-min-"+Convert.ToString(answer.Answers[0].AnswerId) + "').slider('value')); });" + "</script>"; // second version of jquery .js slider script to correct override "default value" field and keep state: string SliderScriptState = ""; SliderScriptState = "<script type='text/javascript'>" + "$(function () { $('#slider-range-min-" + Convert.ToString(answer.Answers[0].AnswerId) + "').slider({ orientation: 'horizontal', " + "animate:" + Convert.ToString(answer.Answers[0].SliderAnimate).ToLower() + ", range:'" + answer.Answers[0].SliderRange + "', value:" + this.DefaultText + ", min:" + Convert.ToString(answer.Answers[0].SliderMin) + ", max:" + Convert.ToString(answer.Answers[0].SliderMax) + ", step:" + Convert.ToString(answer.Answers[0].SliderStep) + ", slide: function (event, ui) { $('#amount" + Convert.ToString(answer.Answers[0].AnswerId) + "').val('' + ui.value); } }); $('#amount" + Convert.ToString(answer.Answers[0].AnswerId) + "').val('' + $('#slider-range-min-" + Convert.ToString(answer.Answers[0].AnswerId) + "').slider('value')); });" + "</script>"; // add secundary jquery scripts: this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "jquery.ui.core.js", ResolveUrl("~/Scripts/Javascript/ui/jquery.ui.core.js") ); this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "jquery.ui.widget.js", ResolveUrl("~/Scripts/Javascript/ui/jquery.ui.widget.js")); this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "jquery.ui.mouse.js", ResolveUrl("~/Scripts/Javascript/ui/jquery.ui.mouse.js")); // add .css files: this.Page.Header.Controls.Add(new LiteralControl(Environment.NewLine)); HtmlGenericControl css = new HtmlGenericControl("link"); css.Attributes.Add("rel", "stylesheet"); css.Attributes.Add("type", "text/css"); css.Attributes.Add("href", ResolveUrl("~/Scripts/css/ui-core-base/jquery.ui.all.css")); Page.Header.Controls.Add(css); css = new HtmlGenericControl("link"); css.Attributes.Add("rel", "stylesheet"); css.Attributes.Add("type", "text/css"); //css.Attributes.Add("href", ResolveUrl("~/Scripts/css/custom-theme/jquery-ui-1.8.12.custom.css")); css.Attributes.Add("href", ResolveUrl("~/Scripts/css/base/jquery.ui.all.css")); Page.Header.Controls.Add(css); css = new HtmlGenericControl("link"); css.Attributes.Add("rel", "stylesheet"); css.Attributes.Add("type", "text/css"); css.Attributes.Add("href", ResolveUrl("~/Scripts/javascript/slider/slider.css")); Page.Header.Controls.Add(css); // add .js scripts if survey not taken inside SP tool: if (this.Page.Request.Path.Contains("survey.aspx")) { Page.Header.Controls.Add(new LiteralControl(Environment.NewLine)); HtmlGenericControl javascriptControl = new HtmlGenericControl("script"); javascriptControl.Attributes.Add("type", "text/Javascript"); javascriptControl.Attributes.Add("src", ResolveUrl("~/Scripts/JavaScript/01_jquery/jquery-1.11.1.js")); Page.Header.Controls.Add(javascriptControl); Page.Header.Controls.Add(new LiteralControl(Environment.NewLine)); javascriptControl = new HtmlGenericControl("script"); javascriptControl.Attributes.Add("type", "text/Javascript"); javascriptControl.Attributes.Add("src", ResolveUrl("~/Scripts/JavaScript/ui/jquery-ui-1.10.4.js")); Page.Header.Controls.Add(javascriptControl); Page.Header.Controls.Add(new LiteralControl(Environment.NewLine)); } //if (this.Page.Request.Path.Contains("surveymobile.aspx")) //{ // Page.Header.Controls.Add(new LiteralControl(Environment.NewLine)); // HtmlGenericControl javascriptControl = new HtmlGenericControl("script"); // javascriptControl.Attributes.Add("type", "text/Javascript"); // javascriptControl.Attributes.Add("src", ResolveUrl("~/Scripts/JavaScript/ui/jquery-ui-1.10.4.js")); // Page.Header.Controls.Add(javascriptControl); // Page.Header.Controls.Add(new LiteralControl(Environment.NewLine)); //} // choose scriptversion depending on state and default value: if(this.DefaultText == answer.Answers[0].DefaultText ) { this.Controls.Add(new LiteralControl(SliderScript)); } else if (this.DefaultText == null) { this.Controls.Add(new LiteralControl(SliderScript)); } else { this.Controls.Add(new LiteralControl(SliderScriptState)); } // add html to add slideranswer to webpage: this.Controls.Add(new LiteralControl("<br /><div class='demo'>")); base.CreateChildControls(); base._fieldTextBox.TextMode = TextBoxMode.SingleLine; base._fieldTextBox.Attributes.Add("value", this.DefaultText); base._fieldTextBox.Attributes.Add("id", "amount"+Convert.ToString(answer.Answers[0].AnswerId)); base._fieldTextBox.Attributes.Add("style", "border:0; color:#f6931f; font-weight:bold;"); //this.Controls.Add(new LiteralControl("<div id=\"slider-range-min\"></div></div><br />")); this.Controls.Add(new LiteralControl("<div id=\"slider-range-min-")); this.Controls.Add(new LiteralControl(Convert.ToString(answer.Answers[0].AnswerId))); this.Controls.Add(new LiteralControl("\"></div></div><br />")); }
private void BindAnswerOptions() { _answerTypes = new AnswerTypes().GetAnswerTypes(); _answers = new Answers().GetAnswers(_questionId, LanguagesDropdownlist.SelectedValue); if (_answers.Answers.Rows.Count > 0) { AnswersDataGrid.Visible = true; AnswersDataGrid.DataSource = _answers; AnswersDataGrid.DataMember = "Answers"; AnswersDataGrid.DataKeyField = "AnswerId"; AnswersDataGrid.DataBind(); } else { AnswersDataGrid.Visible = false; } }
/// <summary> /// Returns the check box status to the event subscribers /// once the survey's page get posted /// </summary> protected override PostedAnswerDataCollection GetPostedAnswerData() { int answerFileCount = new Answers().GetAnswerFileCount(this.GroupGuid); if (this.Mandatory && (answerFileCount == 0)) { this.OnInvalidAnswer(new AnswerItemInvalidEventArgs(string.Format(ResourceManager.GetString("UploadFileRequiredMessage", base.LanguageCode), this.Text))); } PostedAnswerDataCollection datas = new PostedAnswerDataCollection(); datas.Add(new PostedAnswerData(this, this.AnswerId, base.SectionContainer.SectionNumber, this.GroupGuid, AnswerTypeMode.ExtendedType | AnswerTypeMode.Upload | AnswerTypeMode.Mandatory)); return datas; }
private string GenerateFileList(string groupGuid) { StringBuilder fileList = new StringBuilder(); // Retrieve all files that are available for this group FileData answerFiles = new Answers().GetGuidFiles(groupGuid); if (answerFiles.Files.Rows.Count > 0) { for (int i=0; i<answerFiles.Files.Count;i++) { fileList.Append(answerFiles.Files[i].FileName + " (" + (Math.Round((double)answerFiles.Files[i].FileSize/1048576*100000)/100000).ToString("0.##") + ResourceManager.GetString("UploadFileSizeFormat") + ")"); if (i+1<answerFiles.Files.Count) { fileList.Append(", "); } } } return fileList.ToString(); }
private void SetExtendedProperties() { AnswerData answers = new Answers().GetAnswerById(AnswerId, null); ExtendedPropertiesPlaceholder.Controls.Clear(); if (((AnswerTypeMode)answers.Answers[0].TypeMode & AnswerTypeMode.ExtendedType) > 0) { ExtendedPlaceholder.Visible = true; ExtendedPropertiesPlaceholder.Visible = true; AnswerItem answerItem = AnswerItemFactory.Create(answers.Answers[0], null, null, AnswerSelectionMode.None, null, ControlRenderMode.Edit, null, UniqueID, true, null, true); ExtendedAnswerItem extendedItem = answerItem as ExtendedAnswerItem; if (extendedItem != null) { extendedItem.RestoreProperties(); ExtendedPropertiesPlaceholder.Controls.Add(extendedItem.GeneratePropertiesUI()); } } else { ExtendedPropertiesPlaceholder.Controls.Clear(); ExtendedPropertiesPlaceholder.Visible = false; ExtendedPlaceholder.Visible = false; } }
private void BindAnswerOptions() { if (NSurveyUser.Identity.IsAdmin || NSurveyUser.Identity.HasAllSurveyAccess) { _answerTypes = new AnswerTypes().GetAnswerTypesList(); } else { _answerTypes = new AnswerTypes().GetAssignedAnswerTypesList(NSurveyUser.Identity.UserId, getSurveyId()); } AnswerTypeDropDownList.DataSource = _answerTypes; AnswerTypeDropDownList.DataMember = "AnswerTypes"; AnswerTypeDropDownList.DataTextField = "Description"; AnswerTypeDropDownList.DataValueField = "AnswerTypeID"; AnswerTypeDropDownList.DataBind(); TranslateListControl(AnswerTypeDropDownList); AnswerTypeDropDownList.Items.Insert(0, new ListItem(GetPageResource("SelectTypeMessage"), "-1")); AnswerTypeDropDownList.SelectedValue = "1"; _answers = new Answers().GetAnswers(_parentQuestionId, ChildsLanguageDropdownlist.SelectedValue); ColsDataGrid.Columns[2].Visible = RatingCheckbox.Checked; ColsDataGrid.DataSource = _answers; ColsDataGrid.DataMember = "Answers"; ColsDataGrid.DataKeyField = "AnswerId"; ColsDataGrid.DataBind(); }
private void UpdateAnswerButton_Click(object sender, System.EventArgs e) { int oldTypeMode = new Answers().GetAnswerTypeMode(AnswerId); // Create the updated BE AnswerData answer = new AnswerData(); AnswerData.AnswersRow updatedAnswer = answer.Answers.NewAnswersRow(); updatedAnswer.AnswerText = AnswerTextTextBox.Text; updatedAnswer.ImageURL = AnswerImageURLTextBox.Text; updatedAnswer.AnswerTypeId = int.Parse(AnswerTypeDropDownList.SelectedValue); updatedAnswer.RatePart = RatingPartCheckbox.Checked; updatedAnswer.AnswerId = AnswerId; updatedAnswer.AnswerIDText = txtAnswerID.Text; updatedAnswer.AnswerAlias = txtAnswerAlias.Text; updatedAnswer.SliderRange = SliderRangeDDL.SelectedValue.ToString(); updatedAnswer.SliderValue = int.Parse(SliderValueTextBox.Text); updatedAnswer.SliderMin = int.Parse(SliderMinTextBox.Text); updatedAnswer.SliderMax = int.Parse(SliderMaxTextBox.Text); updatedAnswer.SliderAnimate = SliderAnimateCheckbox.Checked; updatedAnswer.SliderStep = int.Parse(SliderStepTextBox.Text); if (DefaultTextTextBox.Text.Length>0) { updatedAnswer.DefaultText = DefaultTextTextBox.Text; } else { updatedAnswer.SetDefaultTextNull(); } updatedAnswer.Selected = SelectionCheckBox.Checked; updatedAnswer.ScorePoint = Information.IsNumeric(ScoreTextBox.Text) ? int.Parse(ScoreTextBox.Text) : 0; updatedAnswer.AnswerPipeAlias = AnswerPipeAliasTextBox.Text; updatedAnswer.Mandatory = MandatoryCheckBox.Checked; if (RegExDropDownList.SelectedIndex > 0) { updatedAnswer.RegularExpressionId = int.Parse(RegExDropDownList.SelectedValue); } answer.Answers.AddAnswersRow(updatedAnswer); new Answer().UpdateAnswer(answer, LanguageCode); int newTypeMode = new Answers().GetAnswerTypeMode(AnswerId); // Check if need to delete persisted properties if it was // previously an extended item if (oldTypeMode != newTypeMode && ((AnswerTypeMode)oldTypeMode & AnswerTypeMode.ExtendedType)>0) { new Answer().DeleteAnswerProperties(AnswerId); } MessageLabel.Visible = true; ((PageBase)Page).ShowNormalMessage(MessageLabel,((PageBase)Page).GetPageResource("SelectionUpdatedMessage")); SetUIState(newTypeMode, false); // Let the subscribers know that something changed OnOptionChanged(); }
private void BindQuestions(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { int questionId = int.Parse(QuestionsDataGrid.DataKeys[e.Item.ItemIndex].ToString()); // Check if the question has childs string filter = string.Format("ParentQuestionID = {0}", questionId); DataView childQuestions = new DataView(_questionData.Questions,filter,"DisplayOrder", DataViewRowState.CurrentRows); if (childQuestions.Count == 0) { DataGrid answerDataGrid = (DataGrid)e.Item.Cells[0].FindControl("QuestionAnswersDataGrid"); AnswerData questionAnswers = new Answers().GetAnswers(questionId, null); for (int sectionNumber=0;sectionNumber<=GetQuestionSectionCount(questionId);sectionNumber++) { BindAnswerTable(questionAnswers,(PlaceHolder)e.Item.Cells[0].FindControl("QuestionAnswerPlaceHolder") , sectionNumber); Label scoreTotalLabel = (Label)e.Item.Cells[0].FindControl("QuestionScoreLabel"); if (isScored) { scoreTotalLabel.Text = string.Format("<br />" +GetPageResource("QuestionScoreLabel")+ _questionScore); } _totalScore += _questionScore; _questionScore = 0; } } else { for (int sectionNumber=0;sectionNumber<=GetMatrixSectionCount(childQuestions);sectionNumber++) { BindMatrix(childQuestions, (PlaceHolder)e.Item.Cells[0].FindControl("MatrixPlaceHolder"), sectionNumber); } } } }
private Table GenerateFileList(string groupGuid, Style tableStyle) { Table table = Votations.NSurvey.BE.Votations.NSurvey.Constants.Commons.GetCentPercentTable();//JJ; table.ControlStyle.CopyFrom(tableStyle); table.Rows.Clear(); FileData guidFiles = new Votations.NSurvey.DataAccess.Answers().GetGuidFiles(groupGuid); if (guidFiles.Files.Rows.Count > 0) { foreach (FileData.FilesRow row in guidFiles.Files) { table.Rows.Add(this.GetFileRow(row.FileId, row.GroupGuid, row.FileSize, row.FileName, row.FileType)); } return table; } TableRow row2 = new TableRow(); TableCell cell = new TableCell(); cell.Text = ResourceManager.GetString("NoFileUploadedMessage", base.LanguageCode); row2.Cells.Add(cell); table.Rows.Add(row2); return table; }
/// <summary> /// Sends the file to the client /// </summary> private void SendFile(int fileId, string groupGuid, string fileName, string fileType) { Byte[] fileData = new Answers().GetAnswerFileData(fileId, groupGuid); // Clear buffer and send the file Context.Response.Clear(); Context.Response.ContentType = fileType != null && fileType.Length > 0 ? fileType : "application/octet-stream"; Context.Response.AddHeader("Content-Disposition", "attachment; filename=\""+fileName+"\""); Context.Response.BinaryWrite(fileData); Context.Response.End(); }
/// <summary> /// Sends the file to the client /// </summary> protected virtual void downloadButton_Command(object sender, CommandEventArgs e) { string[] strArray = e.CommandArgument.ToString().Split(new char[] { ',' }); byte[] answerFileData = new Answers().GetAnswerFileData(int.Parse(strArray[0]), strArray[1]); this.Context.Response.Clear(); this.Context.Response.ContentType = ((strArray[3] != null) && (strArray[3].Length > 0)) ? strArray[3] : "application/octet-stream"; this.Context.Response.AddHeader("Content-Disposition", "attachment; filename=\"" + strArray[2] + "\""); this.Context.Response.BinaryWrite(answerFileData); this.Context.Response.End(); }