void ISolutionConfigurationManagement.NewModelDesign()
        {
            IProjectConfigurationManagement _newModel = ProjectConfigurationManagement.CreateNew(this, base.GraphicalUserInterface, m_UniqueNameGenerator.GenerateNewName());

            if (_newModel == null)
            {
                throw new ApplicationException("New project must be created");
            }
            AddProjectTCollection(_newModel);
        }
        void ISolutionConfigurationManagement.ImportModelDesign()
        {
            IProjectConfigurationManagement _newModel = ProjectConfigurationManagement.ImportModelDesign(this, base.GraphicalUserInterface);

            if (_newModel == null)
            {
                return;
            }
            AddProjectTCollection(_newModel);
        }
        /// <summary>
        /// Imports the UANodeSet encapsulated by a new project.
        /// </summary>
        /// <param name="solutionPathProvider">The solution path provider.</param>
        /// <param name="traceEvent">The trace event.</param>
        /// <returns>ProjectTreeNode.</returns>
        void ISolutionConfigurationManagement.ImportNodeSet()
        {
            IProjectConfigurationManagement _newModel = ProjectConfigurationManagement.ImportNodeSet(this, base.GraphicalUserInterface, x => AssemblyTraceEvent.Log.TraceMessage(x, nameof(ISolutionConfigurationManagement.ImportNodeSet), 486245093));

            if (_newModel == null)
            {
                return;
            }
            AddProjectTCollection(_newModel);
        }
        internal SolutionConfigurationManagement(Tuple <UAModelDesignerSolution, string> solutionDescription, bool changesArePresent, IGraphicalUserInterface gui) : base(solutionDescription.Item2, changesArePresent, gui)
        {
            AssemblyTraceEvent.Tracer.TraceEvent(TraceEventType.Verbose, 335242041, "Creating new private solution using Empty model");
            m_Name = solutionDescription.Item1.Name;
            UAModelDesignerSolutionServerDetails _ServerDetails = solutionDescription.Item1.ServerDetails ?? throw new ArgumentNullException(nameof(UAModelDesignerSolution.ServerDetails));

            m_Projects = solutionDescription.Item1.Projects.Select <UAModelDesignerProject, IProjectConfigurationManagement>(x => ProjectConfigurationManagement.ImportModelDesign(this, base.GraphicalUserInterface, x)).ToList <IProjectConfigurationManagement>();
            string _codebase      = RelativeFilePathsCalculator.CalculateAbsoluteFileName(this.DefaultDirectory, _ServerDetails.codebase);
            string _configuration = RelativeFilePathsCalculator.CalculateAbsoluteFileName(this.DefaultDirectory, _ServerDetails.configuration);

            m_Server = new ServerSelector(base.GraphicalUserInterface, this, _codebase, _configuration);
            if (string.IsNullOrEmpty(Settings.Default.DefaultSolutionFileName))
            {
                Settings.Default.DefaultSolutionFileName = DefaultFileName;
                Settings.Default.Save();
            }
            AssemblyTraceEvent.Tracer.TraceEvent(TraceEventType.Verbose, 335242042, "Finished successfully CommonInitialization");
        }