Exemplo n.º 1
0
        public static bool WriteXmlNode(List <NavItemViewModel> niList)
        {
            XmlDocument xml      = new XmlDocument();
            string      filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, _XmlPath);

            xml.Load(filePath);
            var element  = xml.DocumentElement;
            var xmlNodes = element.SelectNodes(@"/Nav/NavItems/NavItem");

            foreach (XmlNode xn in xmlNodes)
            {
                NavItemViewModel ni = niList.Where(m => m.ID == int.Parse(xn.ChildNodes.Item(0).InnerText)).FirstOrDefault();
                if (ni == null)
                {
                    continue;
                }
                //xn.ChildNodes.Item(1).InnerText = ni.Name;
                xn.ChildNodes.Item(2).InnerText = ni.Fixed.ToString();
                xn.ChildNodes.Item(3).InnerText = ni.IsSelected.ToString();
                xn.ChildNodes.Item(4).InnerText = ni.Url;
                xn.ChildNodes.Item(6).InnerText = ni.Active.ToString();
            }
            xml.Save(filePath);
            return(true);
        }
Exemplo n.º 2
0
        public static List <NavItemViewModel> GetSelectedXMLNodes()
        {
            XmlDocument xml = new XmlDocument();

            xml.Load(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, _XmlPath));
            var element  = xml.DocumentElement;
            var xmlNodes = element.SelectNodes(@"/Nav/NavItems/NavItem");
            List <NavItemViewModel> list = new List <NavItemViewModel>();

            foreach (XmlNode xn in xmlNodes)
            {
                bool isSelected = bool.Parse(xn.ChildNodes.Item(3).InnerText);
                if (!isSelected)
                {
                    continue;
                }
                NavItemViewModel ni = new NavItemViewModel();
                ni.ID         = int.Parse(xn.ChildNodes.Item(0).InnerText);
                ni.Name       = xn.ChildNodes.Item(1).InnerText;
                ni.Fixed      = bool.Parse(xn.ChildNodes.Item(2).InnerText);
                ni.IsSelected = isSelected;
                ni.Url        = xn.ChildNodes.Item(4).InnerText;
                ni.Active     = bool.Parse(xn.ChildNodes.Item(6).InnerText);
                ni.ImgUrl     = xn.ChildNodes.Item(5).InnerText;
                list.Add(ni);
            }
            return(list);
        }
        public async Task <IViewComponentResult> InvokeAsync()
        {
            List <NavItemViewModel> navItems = new List <NavItemViewModel>();

            try
            {
                var catagories = await _context.Categories.ToListAsync();

                foreach (Category category in catagories)
                {
                    var subs = _context.CategorySubs.Where(s => s.CategoryID == category.ID).ToList();
                    var nav  = new NavItemViewModel {
                        Id = category.ID, Name = category.Name, PerentId = 0, SlugUrl = $"{category.ID}-{FriendlyUrlHelper.ReplaceUmlaute(category.Name)}"
                    };

                    if (subs != null)
                    {
                        nav.Childs = new List <NavItemViewModel>();
                        foreach (CategorySub categorysub in subs)
                        {
                            var details = _context.CategoryDetails.Where(d => d.CategorySubID == categorysub.ID).ToList();
                            var navsub  = new NavItemViewModel {
                                Id = categorysub.ID, Name = categorysub.Name, PerentId = categorysub.CategoryID, SlugUrl = $"{categorysub.ID}-{FriendlyUrlHelper.ReplaceUmlaute(categorysub.Name)}"
                            };

                            if (details != null)
                            {
                                navsub.Childs = new List <NavItemViewModel>();
                                foreach (CategoryDetail categorydetail in details)
                                {
                                    var navdetail = new NavItemViewModel {
                                        Id = categorydetail.ID, Name = categorydetail.Name, PerentId = categorydetail.CategorySubID, Childs = null, SlugUrl = $"{categorydetail.ID}-{FriendlyUrlHelper.ReplaceUmlaute(categorydetail.Name)}"
                                    };

                                    _logger.LogDebug($"NavigationViewComponent.InvokeAsync -> add detail category: {navdetail.Name}");
                                    navsub.Childs.Add(navdetail);
                                }
                            }

                            _logger.LogDebug($"NavigationViewComponent.InvokeAsync -> add sub category: {navsub.Name}");
                            nav.Childs.Add(navsub);
                        }
                    }
                    _logger.LogDebug($"NavigationViewComponent.InvokeAsync -> add category: {nav.Name}");
                    navItems.Add(nav);
                }
            }
            catch (Exception e)
            {
                _logger.LogError(e, "Error on Invoke navigation!!!", null);
            }

            return(View(navItems));
        }
Exemplo n.º 4
0
        public ActionResult SaveNavSetter(List <NavItemPostModel> navItemViewModelList)
        {
            List <NavItemViewModel> list = new List <NavItemViewModel>();

            navItemViewModelList.RemoveAll(m => m.ID > 0 && m.ID < 5);
            foreach (var item in navItemViewModelList)
            {
                NavItemViewModel nivm = new NavItemViewModel();
                nivm.ID         = item.ID;
                nivm.Name       = item.Name ?? "";
                nivm.Fixed      = item.Fixed == null ? false : true;
                nivm.IsSelected = item.IsSelected == null ? false : true;
                nivm.Url        = item.Url ?? "#";
                nivm.Active     = item.Active == null ? false : true;
                list.Add(nivm);
            }
            NavXML.WriteXmlNode(list);
            return(RedirectToAction("Index", "Home"));
        }