Esempio n. 1
0
        public HttpResponseMessage GetBackUserNavigationBar(int Id)
        {
            IList <Models.NavigationBar> list = new List <Models.NavigationBar>();

            string sql        = " select distinct n.* from [dbo].[BackUser] AS b left join BackUserRole AS br on b.Id = br.BackUserId left join RoleNavigationBar AS rn on br.RoleId = rn.RoleId left join NavigationBar AS n on rn.NavigationBarId = n.Id  where b.Id = " + Id + " and br.RoleId = rn.RoleId ";
            string connstring = entities.Database.Connection.ConnectionString;

            using (SqlConnection conn = new SqlConnection(connstring))
            {
                conn.Open();
                SqlCommand    cmd = new SqlCommand(sql, conn);
                SqlDataReader dr  = cmd.ExecuteReader();

                while (dr.Read())
                {
                    Models.NavigationBar model = new Models.NavigationBar();
                    model.Id             = (int)dr["Id"];
                    model.Pid            = (int)dr["Pid"];
                    model.Path           = dr["Path"].ToString();
                    model.Icon           = dr["Icon"].ToString();
                    model.NavigationName = dr["NavigationName"].ToString();
                    list.Add(model);
                }
                var ss = list;
            }


            List <NavigationBarModel> allModel = new List <NavigationBarModel>();

            foreach (var item in list)
            {
                NavigationBarModel model1 = new NavigationBarModel();
                model1.Id             = item.Id;
                model1.NavigationName = item.NavigationName;
                model1.Fid            = Convert.ToInt32(item.Pid);
                model1.Path           = item.Path;
                model1.Icon           = item.Icon;
                allModel.Add(model1);
            }

            var topItems = allModel.Where(e => e.Fid == 0).ToList();             //顶级分类
            List <NavigationBarModel> topModels = new List <NavigationBarModel>();

            foreach (var item in topItems)
            {
                NavigationBarModel topModel = new NavigationBarModel();
                topModel.Id             = item.Id;
                topModel.NavigationName = item.NavigationName;
                topModel.Fid            = item.Fid;
                topModel.Path           = item.Path;
                topModel.Icon           = item.Icon;
                LoopToAppendChildren(allModel, topModel);
                topModels.Add(topModel);
            }
            string json = JsonConvert.SerializeObject(topModels);

            return(new HttpResponseMessage {
                Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json")
            });
        }
        public void LoopToAppendChildren(List <NavigationBarModel> allList, NavigationBarModel curItem)
        {
            var subItems = allList.Where(e => e.Fid == curItem.Id).ToList();

            curItem.childs = new List <NavigationBarModel>();
            curItem.childs.AddRange(subItems);
            foreach (var subItem in subItems)
            {
                LoopToAppendChildren(allList, subItem);
            }
        }
Esempio n. 3
0
        public static List <NavigationBarModel> FetchNavigationBarFromHtml(string htmlResources)
        {
            var pageResources = new HtmlDocument();

            pageResources.LoadHtml(htmlResources);
            HtmlNode           rootnode     = pageResources.DocumentNode;
            string             XPathString  = "//ul[@id='globalnav']";
            HtmlNodeCollection LiCollection = rootnode.SelectSingleNode(XPathString).SelectNodes("li");
            var list = new List <NavigationBarModel>();

            // Fetch each NavigationBar Item
            foreach (var li in LiCollection)
            {
                if (li.SelectSingleNode("a") != null)
                {
                    var naviBarModel = new NavigationBarModel();
                    naviBarModel.Title   = ToGlobalization(li.SelectSingleNode("a").InnerText);
                    naviBarModel.PathUri = new Uri(li.SelectSingleNode("a").Attributes["href"].Value);
                    // Check if it has innerItems
                    naviBarModel.Items = new List <BarItemModel>();
                    naviBarModel.Items.Add(new BarItemModel {
                        Title = naviBarModel.Title, PathUri = naviBarModel.PathUri,
                    });
                    if (li.SelectSingleNode("ul[@class='gn-sub']") != null)
                    {
                        foreach (var innerLi in li.SelectSingleNode("ul[@class='gn-sub']").SelectNodes("li"))
                        {
                            naviBarModel.Items.Add(new BarItemModel {
                                Title   = ToGlobalization(innerLi.SelectSingleNode("a").InnerText),
                                PathUri = new Uri(innerLi.SelectSingleNode("a").Attributes["href"].Value),
                            });
                        }
                    }

                    list.Add(naviBarModel);
                }
            }

            return(list);
        }
        public HttpResponseMessage GetNavigationBarList()
        {
            var query = entities.NavigationBar.ToList();
            List <NavigationBarModel> allModel = new List <NavigationBarModel>();

            foreach (var item in query)
            {
                NavigationBarModel model = new NavigationBarModel();
                model.Id             = item.Id;
                model.NavigationName = item.NavigationName;
                model.Fid            = Convert.ToInt32(item.Pid);
                model.Path           = item.Path;
                model.Icon           = item.Icon;
                allModel.Add(model);
            }

            var topItems = allModel.Where(e => e.Fid == 0).ToList();             //顶级分类
            List <NavigationBarModel> topModels = new List <NavigationBarModel>();

            foreach (var item in topItems)
            {
                NavigationBarModel topModel = new NavigationBarModel();
                topModel.Id             = item.Id;
                topModel.NavigationName = item.NavigationName;
                topModel.Fid            = item.Fid;
                topModel.Path           = item.Path;
                topModel.Icon           = item.Icon;
                LoopToAppendChildren(allModel, topModel);
                topModels.Add(topModel);
            }
            string json = JsonConvert.SerializeObject(topModels);

            return(new HttpResponseMessage {
                Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json")
            });
        }
 public App()
 {
     InitializeComponent();
     navigationBarModel = new NavigationBarModel();
     MainPage           = new NavigationPage(new ControlPage());
 }
Esempio n. 6
0
 public ActionResult Index(NavigationBarModel model)
 {
     model.ActiveButton = NavigationButtons.Home;
     return(View(model));
 }
Esempio n. 7
0
 public ActionResult Contact(NavigationBarModel model)
 {
     model.ActiveButton = NavigationButtons.Contact;
     return(View(model));
 }