private async Task ExecuteActionPluginAssemblyDescription(
            PluginConfigurationAssemblyDescriptionHandler handler
            , PluginDescription pluginDescription
            , PluginAssembly pluginAssembly
            , Func <string, PluginConfigurationAssemblyDescriptionHandler, PluginDescription, PluginAssembly, Task> action)
        {
            if (!this.IsControlsEnabled)
            {
                return;
            }

            string folder = txtBFolder.Text.Trim();

            if (string.IsNullOrEmpty(folder))
            {
                _iWriteToOutput.WriteToOutput(null, Properties.OutputStrings.FolderForExportIsEmpty);
                folder = FileOperations.GetDefaultFolderForExportFilePath();
            }
            else if (!Directory.Exists(folder))
            {
                _iWriteToOutput.WriteToOutput(null, Properties.OutputStrings.FolderForExportDoesNotExistsFormat1, folder);
                folder = FileOperations.GetDefaultFolderForExportFilePath();
            }

            await action(folder, handler, pluginDescription, pluginAssembly);
        }
예제 #2
0
        private async Task PerformExportDescriptionToFile(string folder, PluginConfigurationAssemblyDescriptionHandler handler, PluginDescription pluginDescription, PluginAssembly assembly)
        {
            if (!this.IsControlsEnabled)
            {
                return;
            }

            ToggleControls(false, Properties.OutputStrings.CreatingDescription);

            string description = await handler.CreateDescriptionAsync(assembly);

            string filePath = await CreateDescriptionFileAsync(folder, pluginDescription.FilePath, assembly.Name, description);

            this._iWriteToOutput.PerformAction(null, filePath);

            ToggleControls(true, Properties.OutputStrings.CreatingDescriptionCompleted);
        }
예제 #3
0
        private async Task ExecuteActionPluginAssemblyDescription(
            PluginConfigurationAssemblyDescriptionHandler handler
            , PluginDescription pluginDescription
            , PluginAssembly pluginAssembly
            , Func <string, PluginConfigurationAssemblyDescriptionHandler, PluginDescription, PluginAssembly, Task> action)
        {
            if (!this.IsControlsEnabled)
            {
                return;
            }

            string folder = txtBFolder.Text.Trim();

            folder = CorrectFolderIfEmptyOrNotExists(_iWriteToOutput, folder);

            await action(folder, handler, pluginDescription, pluginAssembly);
        }
        private async Task PerformAssemblyDescription(string folder, PluginDescription pluginDescription, PluginAssembly pluginAssembly)
        {
            string fileName = string.Format(
                _formatFileTxt
                , Path.GetFileNameWithoutExtension(pluginDescription.FilePath)
                , pluginAssembly.Name
                );

            string filePath = Path.Combine(folder, FileOperations.RemoveWrongSymbols(fileName));

            var handler = new PluginConfigurationAssemblyDescriptionHandler(pluginDescription.GetConnectionInfo());

            string content = await handler.CreateDescriptionAsync(pluginAssembly);

            File.WriteAllText(filePath, content, new UTF8Encoding(false));

            this._iWriteToOutput.WriteToOutput(null, "Assembly {0} Description exported to {1}", pluginAssembly.Name, filePath);

            this._iWriteToOutput.PerformAction(null, filePath);
        }
예제 #5
0
        private void SetPluginConfig2(PluginDescription pluginDescription)
        {
            this._pluginDescription2 = pluginDescription;

            this._handler2 = new PluginConfigurationAssemblyDescriptionHandler(pluginDescription.GetConnectionInfo());
        }