Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        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);
        }