Пример #1
0
        /// <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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        /// <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);
        }
Пример #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);
        }