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); }
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)); }
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")); }