/// <summary> /// 添加一个菜单项 /// </summary> /// <param name="entity"></param> public void Add(ToolStripItemAbstract entity) { Debug.Assert(entity != null, "entity 为 null"); if (entity == null) { return; } //添加索引信息 _indexXml.XPathSelectElement(XPATH_Index_ToolStrip).Add(GetArchiveIndex(entity)); string xml = entity.ToXml(); XElement xElement = XElement.Parse(xml); SaveIndexFile(); //添加数据实体文件 _packageService.Current.AddFileContent(xml, Path.Combine(Constant.PACKAGE_NAVIGATION_TOOLSTRIP_FOLDER, entity.Id)); _cachingService.Add(entity.Id, xElement); //发布事件 ToolStripEventArgs args = new ToolStripEventArgs(entity); _eventAggregator.GetEvent <ToolStripItemAddedEvent>().Publish(args); }
public void Add(WindowEntity entity) { Debug.Assert(entity != null, "FormEntity 为 null"); if (entity == null) { return; } //添加索引信息 _indexXml.XPathSelectElement(XPATH_Index_Window).Add(GetArchiveIndex(entity)); SaveIndexFile(); string xml = entity.ToXml(); XElement xElement = XElement.Parse(xml); //添加实体文件 _packageService.Current.AddFileContent(xml, Path.Combine(Constant.PACKAGE_WINDOW_FOLDER, entity.Id)); _cachingService.Add(entity.Id, xElement); //发布事件 WindowEventArgs args = new WindowEventArgs(entity); _eventAggregator.GetEvent <WindowAddedEvent>().Publish(args); }
/// <summary> /// 添加一个数据实体 /// </summary> /// <param name="dataEntity"></param> public void Add(DataEntityDev dataEntity) { Debug.Assert(dataEntity != null, "dataEntity 为 null"); if (dataEntity == null) { return; } //添加索引信息 _indexXml.XPathSelectElement(XPATH_Index_DataEntity).Add(ArchiveHelper.GetEntityArchiveIndex(dataEntity)); SaveIndexFile(); string xml = dataEntity.ToXml(); XElement xElement = XElement.Parse(xml); //添加数据实体文件 _packageService.Current.AddFileContent(xml, Path.Combine(Constant.PACKAGE_DATAENTITY_FOLDER, dataEntity.Id)); _cachingService.Add(dataEntity.Id, xElement); //发布事件 DataEntityEventArgs args = new DataEntityEventArgs(dataEntity); _eventAggregator.GetEvent <DataEntityAddedEvent>().Publish(args); }
/// <summary> /// 获取资源文件的文件流 /// </summary> /// <param name="resourceName"></param> /// <returns></returns> public Stream GetStream(string resourceName) { if (String.IsNullOrEmpty(resourceName)) { Debug.Assert(false, "resourceName 为空"); throw new ArgumentNullException(); } Stream stream = (Stream)_cachingService.GetData(resourceName); if (stream == null) { string file = Path.Combine(Constant.PACKAGE_RESOURCE_FOLDER, resourceName); if (_packageService.Current.Container(file) == false) { Debug.Assert(false, resourceName + " 不存在"); throw new FileNotFoundException(); } stream = _packageService.Current.GetFileStream(file); _cachingService.Add(resourceName, stream); } return(stream); }
/// <summary> /// 添加一个枚举 /// </summary> /// <param name="enumEntity"></param> public void Add(EnumEntityDev enumEntity) { Debug.Assert(enumEntity != null, "enumEntity 为 null"); if (enumEntity == null) { return; } //添加索引信息 _indexXml.XPathSelectElement(XPATH_Index_Dictionary).Add(ArchiveHelper.GetEntityArchiveIndex(enumEntity)); SaveIndexFile(); string xml = enumEntity.ToXml(); XElement xElement = XElement.Parse(xml); //添加数据实体文件 _packageService.Current.AddFileContent(xml, Path.Combine(Constant.PACKAGE_DICTIONARY_FOLDER, enumEntity.Id)); _cachingService.Add(enumEntity.Id, xElement); //发布事件 EnumEventArgs args = new EnumEventArgs(enumEntity); _eventAggregator.GetEvent <EnumAddedEvent>().Publish(args); }