Ejemplo n.º 1
0
        private static void Iterate(SiteHaritasıNode siteHaritasıNode, XmlNode xmlNode)
        {
            NodeÇoğalt(siteHaritasıNode, xmlNode);

            foreach (XmlNode xmlChildNode in xmlNode.ChildNodes)
            {
                if (xmlChildNode.LocalName.Equals("siteHaritasıNode", StringComparison.InvariantCultureIgnoreCase))
                {
                    var siteHaritasıChildNode = new SiteHaritasıNode();
                    siteHaritasıNode.ChildNodes.Add(siteHaritasıChildNode);
                    Iterate(siteHaritasıChildNode, xmlChildNode);
                }
            }
        }
Ejemplo n.º 2
0
        private static void NodeÇoğalt(SiteHaritasıNode siteHaritasıNode, XmlNode xmlNode)
        {
            //sistem adı
            siteHaritasıNode.SistemAdı = GetStringValueFromAttribute(xmlNode, "SistemAdı");

            //başlık
            siteHaritasıNode.Başlık = GetStringValueFromAttribute(xmlNode, "Kaynak");

            //routes, url
            string controllerName = GetStringValueFromAttribute(xmlNode, "controller");
            string actionName     = GetStringValueFromAttribute(xmlNode, "action");
            string url            = GetStringValueFromAttribute(xmlNode, "url");

            if (!string.IsNullOrEmpty(controllerName) && !string.IsNullOrEmpty(actionName))
            {
                siteHaritasıNode.ControllerAdı = controllerName;
                siteHaritasıNode.ActionAdı     = actionName;
            }
            else if (!string.IsNullOrEmpty(url))
            {
                siteHaritasıNode.Url = url;
            }

            //resim URL
            siteHaritasıNode.IconClass = GetStringValueFromAttribute(xmlNode, "IconClass");

            //izin adı
            var izinAdları = GetStringValueFromAttribute(xmlNode, "İzinAdları");

            if (!string.IsNullOrEmpty(izinAdları))
            {
                var izinServisi = EngineContext.Current.Resolve <IİzinServisi>();
                siteHaritasıNode.Visible = izinAdları.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
                                           .Any(izinAdı => izinServisi.YetkiVer(izinAdı.Trim()));
            }
            else
            {
                siteHaritasıNode.Visible = true;
            }

            // yeni sekmede aç
            var  yeniSekmedeAç = GetStringValueFromAttribute(xmlNode, "YeniSekmedeAç");
            bool sonuç;

            if (!string.IsNullOrWhiteSpace(yeniSekmedeAç) && bool.TryParse(yeniSekmedeAç, out sonuç))
            {
                siteHaritasıNode.YeniSekmedeAç = sonuç;
            }
        }
Ejemplo n.º 3
0
        public static bool SistemAdıİçeriyor(this SiteHaritasıNode node, string sistemAdı)
        {
            if (node == null)
            {
                throw new ArgumentNullException("node");
            }

            if (String.IsNullOrWhiteSpace(sistemAdı))
            {
                return(false);
            }

            if (sistemAdı.Equals(node.SistemAdı, StringComparison.InvariantCultureIgnoreCase))
            {
                return(true);
            }

            return(node.ChildNodes.Any(cn => SistemAdıİçeriyor(cn, sistemAdı)));
        }
Ejemplo n.º 4
0
 public XmlSiteHaritası()
 {
     RootNode = new SiteHaritasıNode();
 }