protected virtual void OnEnumChanged(EnumEventArgs args) { if (EnumChanged != null) { EnumChanged(this, args); } }
private void FHDEHost_EnumChanged(object sender, EnumEventArgs args) { if (!FChangedEnums.Contains(args.EnumName)) { FChangedEnums.Add(args.EnumName); } }
/// <summary> /// 更新枚举 /// </summary> /// <param name="dataEntity"></param> public void Update(EnumEntityDev enumEntity) { Debug.Assert(enumEntity != null, "enumEntity 为 null"); if (enumEntity == null) { return; } //更新索引信息 XElement element = _indexXml.XPathSelectElement(String.Format(XPATH_Index_SelectDictionary, enumEntity.Id)); Debug.Assert(element != null, "更新枚举索引时未找到指定枚举的索引记录"); if (element != null) { element.ReplaceWith(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 <EnumUpdatedEvent>().Publish(args); } }
//TODO:更名为remove /// <summary> /// 删除枚举 /// </summary> /// <param name="id"></param> public void Delete(EnumEntityDev enumEntity) { Debug.Assert(enumEntity != null, "enumEntity 为 null"); if (enumEntity == null) { return; } //移除索引信息 XElement element = _indexXml.XPathSelectElement(String.Format(XPATH_Index_SelectDictionary, enumEntity.Id)); Debug.Assert(element != null, "删除枚举索引时未找到指定枚举的索引记录"); if (element != null) { element.Remove(); SaveIndexFile(); //移除实体文件 _packageService.Current.DeleteFile(Path.Combine(Constant.PACKAGE_DICTIONARY_FOLDER, enumEntity.Id)); _cachingService.Remove(enumEntity.Id); //发布事件 EnumEventArgs args = new EnumEventArgs(enumEntity); _eventAggregator.GetEvent <EnumRemovedEvent>().Publish(args); } }
/// <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); }