AvalonStudio.Controls.Standard.SolutionExplorer.SolutionExplorerViewModel.OpenSolution C# (CSharp) Method

OpenSolution() public method

public OpenSolution ( ) : void
return void
        public async void OpenSolution()
        {
            var dlg = new OpenFileDialog();
            dlg.Title = "Open Solution";

            var allExtensions = new List<string>();

            foreach (var solutionType in shell.SolutionTypes)
            {
                allExtensions.AddRange(solutionType.Extensions);
            }

            dlg.Filters.Add(new FileDialogFilter
            {
                Name = "All Supported Solution Types",
                Extensions = allExtensions
            });

            foreach (var solutionType in shell.SolutionTypes)
            {
                dlg.Filters.Add(new FileDialogFilter
                {
                    Name = solutionType.Description,
                    Extensions = solutionType.Extensions
                });
            }

            dlg.InitialFileName = string.Empty;
            dlg.InitialDirectory = Platform.ProjectDirectory;
            var result = await dlg.ShowAsync();

            if (result != null)
            {
                await shell.OpenSolutionAsync(result[0]);
            }
        }
    }