Beispiel #1
0
        public static ViewDataDictionary getLinkMap(ViewDataDictionary ViewData)
        {
            System.Web.HttpContext web = System.Web.HttpContext.Current;;

            int contadorSegmentos  = web.Request.Url.Segments.Count();
            int contadorParametros = web.Request.QueryString.Count;

            contadorParametros = 0;
            string virtualPath = "";

            if (web.Request.Url.AbsolutePath.Contains("Error") && !web.Request.Url.AbsolutePath.Contains("AccessError"))
            {
                virtualPath = "Error/";
            }
            else
            {
                for (int i = 1; i < contadorSegmentos - contadorParametros; i++)
                {
                    virtualPath += web.Request.Url.Segments[i].ToString();
                }
            }



            string    path      = web.Request.PhysicalApplicationPath + "\\App_Data";
            XDocument documento = XDocument.Load(path + "\\SiteMap.xml");
            XElement  element   = (from c in documento.Descendants("WebForm")
                                   where c.Attribute("url").Value.ToLower().Equals(virtualPath.ToLower())
                                   select c).FirstOrDefault();

            if (element != null)
            {
                ViewData["Message"]           = element.Element("Mensagem").Element("Message").Value;
                ViewData["InformativoTitulo"] = element.Element("Mensagem").Element("InformativoTitulo").Value;
                if (element.Element("Mensagem").Element("InformativoDetalhe1") != null)
                {
                    ViewData["InformativoDetalhe1"] = element.Element("Mensagem").Element("InformativoDetalhe1").Value;
                }
                if (element.Element("Mensagem").Element("InformativoDetalhe2") != null)
                {
                    ViewData["InformativoDetalhe2"] = element.Element("Mensagem").Element("InformativoDetalhe2").Value;
                }
                if (element.Element("Mensagem").Element("InformativoDetalhe3") != null)
                {
                    ViewData["InformativoDetalhe3"] = element.Element("Mensagem").Element("InformativoDetalhe3").Value;
                }
                if (element.Element("Mensagem").Element("InformativoDetalhe4") != null)
                {
                    ViewData["InformativoDetalhe4"] = element.Element("Mensagem").Element("InformativoDetalhe4").Value;
                }
                if (element.Element("Mensagem").Element("InformativoDetalhe5") != null)
                {
                    ViewData["InformativoDetalhe5"] = element.Element("Mensagem").Element("InformativoDetalhe5").Value;
                }

                ListLinkMap list = new ListLinkMap();

                foreach (XElement e in element.Descendants("Links").Elements())
                {
                    LinkMap lm = new LinkMap();
                    lm.linkText       = e.Attribute("linkText").Value;
                    lm.actionName     = e.Attribute("actionName").Value;
                    lm.controllerName = e.Attribute("controllerName").Value;

                    list.Add(lm);
                }

                if (list.Values.Count > 0 && ViewData["linkMap"] == null)
                {
                    ViewData.Add("linkMap", list);
                }
            }

            return(ViewData);
        }
Beispiel #2
0
 public void Add(LinkMap linkMap)
 {
     elements.Add(linkMap);
 }