Ejemplo n.º 1
0
        private async void AddinManagerWindow_Loaded(object sender, RoutedEventArgs e)
        {
            // fill and sort as data is filled out
            var addinList = await AddinManager.Current.GetAddinListAsync();

            AddinList = new ObservableCollection <AddinItem>(addinList);

            if (AddinList.Count > 0)
            {
                ActiveAddin = AddinList[0];
            }
        }
        public void DownloadAndInstall()
        {
            const string url =
                "https://github.com/RickStrahl/SaveToAzureBlob-MarkdownMonster-Addin/raw/master/Build/SaveImageToAzureBlob-MarkdownMonster-Addin.zip";

            var addin = new AddinItem
            {
                id = "SaveImageToAzureBlob"
            };

            var manager = new AddinManager();
            var result  = manager.DownloadAndInstallAddin(url, "c:\\program files (x86)\\Markdown Monster\\Addins", addin);

            Assert.IsTrue(!result.IsError);
        }
        private async void AddinManagerWindow_Loaded(object sender, RoutedEventArgs e)
        {
            // fill and sort as data is filled out
            var addinList = await AddinManager.Current.GetAddinListAsync();

            if (addinList == null)
            {
                AddinList = new ObservableCollection <AddinItem>();
                ShowStatus("Unable to load addin list.", mmApp.Configuration.StatusTimeout, Brushes.Red);
                return;
            }
            AddinList = new ObservableCollection <AddinItem>(addinList);

            if (AddinList.Count > 0)
            {
                ActiveAddin = AddinList[0];
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获取一个新实例化的接口
        /// </summary>
        /// <typeparam name="T">接口类型</typeparam>
        /// <returns>接口</returns>
        public static T New <T>()
        {
            AddinItem temp = _Cache[typeof(T).FullName];

            if (temp == null)
            {
                temp = Mapping.Get <T>();
            }

            if (temp == null)
            {
                throw new ApplicationException(typeof(T).FullName + "不存在对应的配置或实现DLL");
            }
            else
            {
                return(temp.New <T>());
            }
        }
Ejemplo n.º 5
0
        internal AddinItem Add(string interfaceName, string caseTypeName)
        {
            lock (_Items)
            {
                AddinItem temp = new AddinItem(caseTypeName);

                if (_Items.ContainsKey(interfaceName) == false)
                    _Items.Add(interfaceName, temp);

                return temp;
            }
        }