示例#1
0
        public IActionResult EditItem(string id)
        {
            EditRSSItemViewModel vm = new EditRSSItemViewModel();

            _rssService.PopulateEditRSSItemViewModel(vm, id);

            return(View(vm));
        }
示例#2
0
        public void PopulateEditRSSItemViewModel(EditRSSItemViewModel vm, string id)
        {
            RSSItemViewModel itemVm = new RSSItemViewModel();

            if (string.IsNullOrEmpty(id))
            {
                return;
            }

            IFileProvider      provider = _appEnvironment.ContentRootFileProvider;
            IDirectoryContents contents = provider.GetDirectoryContents("wwwroot\\content");

            if (!contents.Any(c => c.Name == "feed.xml"))
            {
                if (!CreateXMLFile())
                {
                    return;
                }
            }

            if (!XmlFilePopulated())
            {
                return;
            }

            XDocument xdoc = XDocument.Load(contents.Where(c => c.Name == "feed.xml").FirstOrDefault().CreateReadStream());

            if (xdoc != null)
            {
                var eleList = xdoc.Descendants("item").ToList();

                var item = eleList.Where(c => c.Element("guid").Value == id).FirstOrDefault();

                if (item != null)
                {
                    itemVm.Title       = item.Descendants("title").FirstOrDefault()?.Value;
                    itemVm.Description = item.Descendants("description").FirstOrDefault()?.Value;
                    itemVm.Link        = item.Descendants("link").FirstOrDefault()?.Value;
                    itemVm.GUID        = item.Descendants("guid").FirstOrDefault()?.Value;
                }
            }

            vm.RSSItem = itemVm;
        }
示例#3
0
        public IActionResult EditItem(EditRSSItemViewModel vm, string id)
        {
            _rssService.EditRSSItem(vm.RSSItem, id);

            return(RedirectToAction("Items", "Home"));
        }