public static bool HasActiveChild(this NavigationViewModel model, NavigationNode node)
        {
            if (node == null)
            {
                return(false);
            }
            if (model.CurrentNode == null)
            {
                return(false);
            }
            if (node.EqualsNode(model.CurrentNode.Value))
            {
                return(true);
            }
            if (model.ParentChain == null)
            {
                return(false);
            }

            foreach (var n in model.ParentChain)
            {
                if (n.Value.Key == node.Key)
                {
                    return(true);
                }
            }



            return(false);
        }
 public static string GetClass(this NavigationViewModel model, NavigationNode node, string inputClass = null, string activeClass = "active")
 {
     if (node == null)
     {
         return(null);
     }
     if (model.CurrentNode != null && (node.EqualsNode(model.CurrentNode.Value)))
     {
         if (!string.IsNullOrEmpty(inputClass))
         {
             inputClass = activeClass + " " + inputClass;
         }
         else
         {
             inputClass = activeClass;
         }
     }
     if (string.IsNullOrEmpty(node.CssClass))
     {
         return(inputClass);
     }
     else
     {
         if (!string.IsNullOrEmpty(inputClass))
         {
             return(inputClass + " " + node.CssClass);
         }
         return(node.CssClass);
     }
 }
 public static string GetClass(this NavigationViewModel model, NavigationNode node, string inputClass = null, string activeClass = "active")
 {
     if (node == null) return null;
     if (model.CurrentNode != null && (node.EqualsNode(model.CurrentNode.Value)))
     {
         if (!string.IsNullOrEmpty(inputClass))
         {
             inputClass = activeClass + " " + inputClass;
         }
         else
         {
             inputClass = activeClass;
         }
     }
     if (string.IsNullOrEmpty(node.CssClass))
     {
         return inputClass;
     }
     else
     {
         if (!string.IsNullOrEmpty(inputClass))
         {
             return inputClass + " " + node.CssClass;
         }
         return node.CssClass;
     }
 }
 public static string IsCurrentNode(this NavigationViewModel model, NavigationNode node)
 {
     if (node == null)
     {
         return("false");
     }
     if (model.CurrentNode == null)
     {
         return("false");
     }
     if (node.EqualsNode(model.CurrentNode.Value))
     {
         return("true");
     }
     return("false");
 }