Beispiel #1
0
        async void LoadModuleFromFile(Object obj)
        {
            // method call from ICommand is allowed only when module selector is active
            // so skip checks.
            ClosableTabItem previousTab = _mwvm.SelectedTab;
            OpenFileDialog  dlg         = new OpenFileDialog {
                DefaultExt = ".psm1",
                Filter     = "PowerShell module files (*.psm1, *.psd1)|*.psm1;*.psd1"
            };
            Boolean?result = dlg.ShowDialog();

            if (result != true)
            {
                return;
            }
            UIManager.ShowBusy(previousTab, Strings.InfoModuleLoading);
            try {
                ModuleObject module = await PowerShellProcessor.GetModuleFromFile(dlg.FileName);

                if (module != null && !_mwvm.Modules.Contains(module))
                {
                    _mwvm.Modules.Add(module);
                    module.ModulePath = dlg.FileName;
                }
            } catch (Exception e) {
                Utils.MsgBox("Import error", e.Message, MessageBoxButton.OK, MessageBoxImage.Error);
                previousTab.ErrorInfo = e.Message;
            }
            UIManager.ShowModuleList(previousTab);
        }