示例#1
0
 protected virtual void OnEnumChanged(EnumEventArgs args)
 {
     if (EnumChanged != null)
     {
         EnumChanged(this, args);
     }
 }
示例#2
0
 private void FHDEHost_EnumChanged(object sender, EnumEventArgs args)
 {
     if (!FChangedEnums.Contains(args.EnumName))
     {
         FChangedEnums.Add(args.EnumName);
     }
 }
示例#3
0
        /// <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);
            }
        }
示例#4
0
        //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);
            }
        }
示例#5
0
        /// <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);
        }