Ejemplo n.º 1
0
 //=====================================================================================
 /// <summary>
 /// Overloded constructor set m_Id abd m_Name member variables
 /// </summary>
 //=====================================================================================
 public QuestionLayoutListItem(QuestionLayout id, string name)
 {
     m_Id = id;
       m_Name = name;
 }
Ejemplo n.º 2
0
        public string Render(Int32 id, ScreenViewer.Models.CriticalElements criticalelement, ControllerContext ContCont)
        {
            ScreenViewer.API.ScriptLayoutsController SC = new API.ScriptLayoutsController();
            var actionResult = SC.GetScriptLayout(Convert.ToInt32(id));
            var response     = actionResult as OkNegotiatedContentResult <ScriptLayout>;

            if (response != null)
            {
                ScriptLayout SL        = response.Content;
                string       qincluded = "";

                bool critItems = false;

                QuestionController QuestController = new QuestionController();
                QuestionLayout     questionLayout  = null;

                List <ScriptLayoutE> ScriptLayouts = new List <ScriptLayoutE>();

                foreach (ScriptLayoutDetail slitem in SL.ScriptLayoutDetails)
                {
                    ScriptLayoutE layout = new ScriptLayoutE();
                    string        aclass = "";
                    switch (slitem.ElementAlignment)
                    {
                    case "top-left":
                        aclass = "div_top text-left";
                        break;

                    case "top-center":
                        aclass = "div_top text-center";

                        break;

                    case "top-right":
                        aclass = "div_top text-right";

                        break;

                    case "middle-left":
                        aclass = "div_middle text-left";
                        break;

                    case "middle-center":
                        aclass = "div_middle text-center";

                        break;

                    case "middle-right":
                        aclass = "div_middle text-right";

                        break;

                    case "bottom-left":
                        aclass = "div_bottom text-left";

                        break;

                    case "bottom-center":
                        aclass = "div_bottom text-center";

                        break;

                    case "bottom-right":
                        aclass = "div_bottom text-right";

                        break;

                    default:
                        aclass = "div_top text-left";

                        break;
                    }


                    layout.Scriptlayoutdetail = slitem;
                    layout.AlignClass         = aclass;

                    if (slitem.ElementType == "Question")
                    {
                        qincluded = qincluded == "" ? slitem.ElementID.ToString() : qincluded + "," + slitem.ElementID.ToString();

                        if (criticalelement.CriticalItems)
                        {
                            if (criticalelement.CriticalQuestions.Contains(slitem.ElementID.ToString()))
                            {
                                layout.CriticalElement = true;
                            }
                        }
                    }
                    else if (slitem.ElementType == "OrderItem" && critItems)
                    {
                        layout.CriticalElement = true;
                    }
                    else
                    {
                        layout.CriticalElement = false;
                    }


                    switch (slitem.ElementType)
                    {
                    case "Question":

                        questionLayout = QuestController.RenderQuestionParts((decimal)layout.Scriptlayoutdetail.ElementID, layout.CriticalElement, ContCont);

                        questionLayout.QuestionHTML      = questionLayout.QuestionHTML.Replace("\r", "");
                        questionLayout.QuestionHTML      = questionLayout.QuestionHTML.Replace("\n", "");
                        questionLayout.QuestionHTML      = questionLayout.QuestionHTML.Replace(@"""", @"\""");
                        questionLayout.QuestionHTML      = questionLayout.QuestionHTML.Replace("</script>", string.Format("\" + {0} + \"", "unescape('%3C/script%3E')"));
                        questionLayout.QuestionLabelText = questionLayout.QuestionLabelText.Replace("\r", "");
                        questionLayout.QuestionLabelText = questionLayout.QuestionLabelText.Replace("\n", "");
                        questionLayout.QuestionLabelText = questionLayout.QuestionLabelText.Replace(@"""", @"\""");
                        layout.QuestionLayout            = questionLayout;
                        break;


                    case "TextHTML":
                        TextHTMLController THC = new TextHTMLController();
                        layout.TextHTMLLayout = THC.Render(Convert.ToInt32(layout.Scriptlayoutdetail.ElementID), ContCont);
                        layout.TextHTMLLayout = HttpUtility.HtmlDecode(layout.TextHTMLLayout);
                        layout.TextHTMLLayout = layout.TextHTMLLayout.Replace("\r", "");
                        layout.TextHTMLLayout = layout.TextHTMLLayout.Replace("\n", "");
                        layout.TextHTMLLayout = layout.TextHTMLLayout.Replace(@"""", @"\""");
                        layout.TextHTMLLayout = layout.TextHTMLLayout.Replace(@"\\", @"\");
                        layout.TextHTMLLayout = layout.TextHTMLLayout.Replace("</script>", string.Format("\" + {0} + \"", "unescape('%3C/script%3E')"));
                        layout.TextHTMLLayout = layout.TextHTMLLayout.Replace("'s", "&apos;s");
                        break;

                    case "Link":
                        LinkController LC = new LinkController();
                        layout.LinkLayout = LC.Render(Convert.ToInt32(layout.Scriptlayoutdetail.ElementID), ContCont);
                        layout.LinkLayout = layout.LinkLayout.Replace("\r", "");
                        layout.LinkLayout = layout.LinkLayout.Replace("\n", "");
                        layout.LinkLayout = layout.LinkLayout.Replace(@"""", @"\""");
                        layout.LinkLayout = layout.LinkLayout.Replace("</script>", string.Format("\" + {0} + \"", "unescape('%3C/script%3E')"));

                        break;
                    }

                    ScriptLayouts.Add(layout);
                }

                List <ScriptLayoutE> orderedLayout = ScriptLayouts.OrderBy(o => o.Scriptlayoutdetail.RowNumber).ThenBy(o => o.Scriptlayoutdetail.Sequence).ToList();

                ViewBag.QuestionList = qincluded;



                return(RenderHelper.RenderViewToString(ContCont, "~/Views/ScriptLayout/_ScriptLayout.cshtml", orderedLayout, ViewData));
            }
            else
            {
                return("");
            }
        }