/// <summary> /// 更新(编辑)一个菜单项 /// </summary> /// <param name="entity"></param> public void Update(MenuEntity entity) { Debug.Assert(entity != null, "mainMenuEntity 为 null"); if (entity == null) { return; } //更新索引信息 XElement element = _indexXml.XPathSelectElement(String.Format(XPATH_Index_SelectMenuStrip, entity.Id)); Debug.Assert(element != null, "更新主菜单索引时未找到指定主菜单的索引记录"); if (element != null) { element.ReplaceWith(GetArchiveIndex(entity)); SaveIndexFile(); string xml = entity.ToXml(); XElement xElement = XElement.Parse(xml); //更新实体文件 _packageService.Current.AddFileContent(xml, Path.Combine(Constant.PACKAGE_NAVIGATION_MENUSTRIP_FOLDER, entity.Id)); _cachingService.Add(entity.Id, xElement); //发布事件 MenuStripEventArgs args = new MenuStripEventArgs(entity); _eventAggregator.GetEvent <MenuStripItemUpdatedEvent>().Publish(args); } }
/// <summary> /// 添加一个菜单项 /// </summary> /// <param name="entity"></param> public void Add(MenuEntity entity) { Debug.Assert(entity != null, "MenuEntity 为 null"); if (entity == null) { return; } //添加索引信息 _indexXml.XPathSelectElement(XPATH_Index_MenuStrip).Add(GetArchiveIndex(entity)); SaveIndexFile(); string xml = entity.ToXml(); XElement xElement = XElement.Parse(xml); //添加数据实体文件 _packageService.Current.AddFileContent(xml, Path.Combine(Constant.PACKAGE_NAVIGATION_MENUSTRIP_FOLDER, entity.Id)); _cachingService.Add(entity.Id, xElement); //发布事件 MenuStripEventArgs args = new MenuStripEventArgs(entity); _eventAggregator.GetEvent <MenuStripItemAddedEvent>().Publish(args); }