private static XElement AddSourceTableXml(SurveyPageDTO NewPage) { XmlDocument SourceTableXml = new XmlDocument(); string SourceTableXmlpath = System.Web.HttpContext.Current.Server.MapPath("~\\Content\\Xml\\SourceTable.xml"); SourceTableXml.Load(SourceTableXmlpath); XDocument XSourceTable = ToXDocument(SourceTableXml); XElement SourceTableElement = XSourceTable.XPathSelectElement("SourceTable"); SourceTableElement.SetAttributeValue("TableName", "code" + NewPage.Variable_Name); // SourceTableElement.SetAttributeValue("TableName", NewPage.List_Values[0]); if (NewPage.Question_Type == 17) { for (int i = 1; NewPage.List_Values.Count() > i; i++) { XElement ItemElement = new XElement("Item"); ItemElement.SetAttributeValue(NewPage.List_Values[0], NewPage.List_Values[i]); SourceTableElement.Add(ItemElement); } } else { for (int i = 0; NewPage.List_Values.Count() - 1 > i; i++) { XElement ItemElement = new XElement("Item"); var AttributeName = NewPage.List_Values[0].Replace(" ", "_"); ItemElement.SetAttributeValue(AttributeName, NewPage.List_Values[i]); SourceTableElement.Add(ItemElement); } } return(SourceTableElement); }
private static List <SurveyPageDTO> SetPageValues(ExcelWorkbook xlWorkbook) { List <SurveyPageDTO> PageList = new List <SurveyPageDTO>(); ExcelWorksheet xlWorksheet = xlWorkbook.Worksheets[1]; var start = xlWorksheet.Dimension.Start; var end = xlWorksheet.Dimension.End; for (int row = 2; row <= end.Row; row++) { // Row by row... SurveyPageDTO Page = new SurveyPageDTO(); if (xlWorksheet.Cells[row, 1] != null && xlWorksheet.Cells[row, 1].Text != "") { Page.Question = xlWorksheet.Cells[row, 1].Text; } // if (xlWorksheet.Cells[row, 2] != null && xlWorksheet.Cells[row, 2].Text != "") { Page.Title = xlWorksheet.Cells[row, 2].Text; } if (xlWorksheet.Cells[row, 3] != null && xlWorksheet.Cells[row, 3].Text != "") { Page.Description = xlWorksheet.Cells[row, 3].Text; } // if (xlWorksheet.Cells[row, 4] != null && xlWorksheet.Cells[row, 4].Text != "") { Page.Variable_Name = xlWorksheet.Cells[row, 4].Text.Replace(" ", "_"); } if (xlWorksheet.Cells[row, 5] != null && xlWorksheet.Cells[row, 5].Text != "") { Page.Question_Type = GetDataType(xlWorksheet.Cells[row, 5].Text); } if (xlWorksheet.Cells[row, 6] != null && xlWorksheet.Cells[row, 6].Text != "") { Page.Required = GetBool(xlWorksheet.Cells[row, 6].Text); } if (xlWorksheet.Cells[row, 7] != null && xlWorksheet.Cells[row, 7].Text != "") { Page.List_Values = GetDropDownList(xlWorksheet.Cells[row, 7].Text, xlWorkbook); } if (xlWorksheet.Cells[row, 8] != null && xlWorksheet.Cells[row, 8].Text != "") { Page.If_Condition = xlWorksheet.Cells[row, 8].Text; } if (xlWorksheet.Cells[row, 9] != null && xlWorksheet.Cells[row, 9].Text != "") { Page.Then_Question = xlWorksheet.Cells[row, 9].Text; } if (xlWorksheet.Cells[row, 10] != null && xlWorksheet.Cells[row, 10].Text != "") { Page.Else_Question = xlWorksheet.Cells[row, 10].Text; } Page.PageName = "Page " + (row - 1).ToString(); Page.PageId = row - 1; PageList.Add(Page); } return(PageList); }
private static XElement AddControlXml(SurveyPageDTO NewPage) { // Control // XElement FiledElement = XPage.XPathSelectElement("Page/Field[@Name='Controls']"); XmlDocument FieldXml = new XmlDocument(); string PageXmlpath = System.Web.HttpContext.Current.Server.MapPath("~\\Content\\Xml\\Control.xml"); FieldXml.Load(PageXmlpath); XDocument XField = ToXDocument(FieldXml); XElement FiledElement = XField.XPathSelectElement("Field"); FiledElement.SetAttributeValue("IsRequired", NewPage.Required.ToString()); FiledElement.SetAttributeValue("Name", NewPage.Variable_Name); FiledElement.SetAttributeValue("PromptText", NewPage.Question); FiledElement.SetAttributeValue("PageId", NewPage.PageId); FiledElement.SetAttributeValue("FieldTypeId", NewPage.Question_Type); FiledElement.SetAttributeValue("UniqueId", Guid.NewGuid().ToString()); FiledElement.SetAttributeValue("PageName", NewPage.PageName); FiledElement.SetAttributeValue("Position", NewPage.PageId - 1); FiledElement.SetAttributeValue("FieldId", NewPage.PageId + 3); if (NewPage.Question_Type == 17) { XmlDocument SourceTableXml = new XmlDocument(); string SourceTableXmlpath = System.Web.HttpContext.Current.Server.MapPath("~\\Content\\Xml\\SourceTable.xml"); SourceTableXml.Load(SourceTableXmlpath); XDocument XSourceTable = ToXDocument(SourceTableXml); XElement SourceTableElement = XSourceTable.XPathSelectElement("SourceTable"); SourceTableElement.SetAttributeValue("TableName", "code" + NewPage.Variable_Name); var TableName = SourceTableElement.Attribute("TableName").Value; FiledElement.SetAttributeValue("SourceTableName", TableName); FiledElement.SetAttributeValue("CodeColumnName", NewPage.Variable_Name); FiledElement.SetAttributeValue("TextColumnName", NewPage.Variable_Name); } if (NewPage.Question_Type == 12) { string Values = GetOptionsValue(NewPage.List_Values); FiledElement.SetAttributeValue("List", Values); FiledElement.SetAttributeValue("ShowTextOnRight", "True"); FiledElement.SetAttributeValue("ControlWidthPercentage", "0.80"); FiledElement.SetAttributeValue("ControlHeightPercentage", GetPositionValue(NewPage.List_Values.Count(), 0.12, 0.03)); FiledElement.SetAttributeValue("ControlLeftPositionPercentage", "0.07 "); FiledElement.SetAttributeValue("ControlTopPositionPercentage", "0.17"); } if (NewPage.Question_Type == 10) { Double ControlTopPositionPercentage = 0.12 + (0.04 * NewPage.Counter); FiledElement.SetAttributeValue("ControlTopPositionPercentage", ControlTopPositionPercentage.ToString()); } return(FiledElement); }
private string GetCheckCode(string CheckCode, SurveyPageDTO NewPage) { StringBuilder _CheckCode = new StringBuilder(); _CheckCode.Append(CheckCode); string text; string IFElsepath = System.Web.HttpContext.Current.Server.MapPath("~\\Content\\CheckCode\\IFElse.txt"); using (var streamReader = new StreamReader(@"" + IFElsepath, Encoding.UTF8)) { text = streamReader.ReadToEnd(); } text = string.Format(text, NewPage.PageName, NewPage.Variable_Name, NewPage.If_Condition, NewPage.Then_Question, NewPage.Else_Question); _CheckCode.Append("\n" + text); return(_CheckCode.ToString()); }
private static XElement AddPageXml(XDocument NewXmlDoc, SurveyPageDTO NewPage) { XmlDocument PageXml = new XmlDocument(); string PageXmlpath = System.Web.HttpContext.Current.Server.MapPath("~\\Content\\Xml\\PageTemplate.xml"); PageXml.Load(PageXmlpath); XDocument XPage = ToXDocument(PageXml); XElement PageElement = XPage.XPathSelectElement("Page"); // change Default values PageElement.SetAttributeValue("PageId", NewPage.PageId); PageElement.SetAttributeValue("Name", NewPage.PageName); PageElement.SetAttributeValue("Position", NewPage.PageId - 1); XElement FiledElement = null; if (NewPage.Question_Type != 10) { FiledElement = AddControlXml(NewPage); PageElement.Add(FiledElement); } else { int count = 1; var Variable_Name = NewPage.Variable_Name; foreach (var checkbox in NewPage.List_Values) { NewPage.Question = checkbox; NewPage.Variable_Name = "checkbox_" + checkbox.Replace(" ", "_"); NewPage.Counter = count; FiledElement = AddControlXml(NewPage); PageElement.Add(FiledElement); count++; } NewPage.Variable_Name = Variable_Name; } // GroupBox Title if (!string.IsNullOrEmpty(NewPage.Title)) { FiledElement = XPage.XPathSelectElement("Page/Field[@Name='Title']"); FiledElement.SetAttributeValue("Name", NewPage.Variable_Name + "_Title"); FiledElement.SetAttributeValue("PromptText", NewPage.Title); FiledElement.SetAttributeValue("PageId", NewPage.PageId); FiledElement.SetAttributeValue("FieldTypeId", 21); FiledElement.SetAttributeValue("UniqueId", Guid.NewGuid().ToString()); FiledElement.SetAttributeValue("PageName", NewPage.PageName); FiledElement.SetAttributeValue("Position", NewPage.PageId - 1); FiledElement.SetAttributeValue("FieldId", NewPage.PageId + 4); if (NewPage.Question_Type == 12) { FiledElement.SetAttributeValue("ControlHeightPercentage", GetPositionValue(NewPage.List_Values.Count(), 0.14, 0.04).ToString()); } if (NewPage.Question_Type == 10) { FiledElement.SetAttributeValue("ControlHeightPercentage", GetPositionValue(NewPage.List_Values.Count(), 0.14, 0.05).ToString()); } } else { FiledElement = XPage.XPathSelectElement("Page/Field[@Name='Title']"); FiledElement.Remove(); } // Description if (!string.IsNullOrEmpty(NewPage.Description)) { FiledElement = XPage.XPathSelectElement("Page/Field[@Name='Description']"); FiledElement.SetAttributeValue("Name", NewPage.Variable_Name + "_Description"); FiledElement.SetAttributeValue("PromptText", NewPage.Description); FiledElement.SetAttributeValue("PageId", NewPage.PageId); FiledElement.SetAttributeValue("FieldTypeId", 2); FiledElement.SetAttributeValue("UniqueId", Guid.NewGuid().ToString()); FiledElement.SetAttributeValue("PageName", NewPage.PageName); FiledElement.SetAttributeValue("Position", NewPage.PageId - 1); FiledElement.SetAttributeValue("FieldId", NewPage.PageId + 5); if (NewPage.Question_Type == 12) { FiledElement.SetAttributeValue("ControlTopPositionPercentage", GetPositionValue(NewPage.List_Values.Count(), 0.14, 0.04).ToString()); } if (NewPage.Question_Type == 10) { FiledElement.SetAttributeValue("ControlTopPositionPercentage", GetPositionValue(NewPage.List_Values.Count(), 0.14, 0.05).ToString()); } } else { FiledElement = XPage.XPathSelectElement("Page/Field[@Name='Description']"); FiledElement.Remove(); } // Add page element to Xml XElement XmlElement = NewXmlDoc.XPathSelectElement("Template/Project/View"); XmlElement.Add(PageElement); return(XmlElement); }