Beispiel #1
0
        /// <summary>
        /// Reads studio projects from project.xml
        /// Adds projects to listbox
        /// </summary>
        private void LoadProjectsList(string projectXmlPath, List <string> studioProjectsPaths)
        {
            try
            {
                var projectXmlDocument = new XmlDocument();
                var filePathNames      = _projectService.AddFilePaths(studioProjectsPaths);
                if (!IsNullOrEmpty(projectXmlPath))
                {
                    var projectsWithoutAnalysis = new List <string>();
                    projectXmlDocument.Load(projectXmlPath);

                    var projectsNodeList = projectXmlDocument.SelectNodes("//ProjectListItem");
                    if (projectsNodeList == null)
                    {
                        return;
                    }

                    var studioProjects = _projectService.GetSelectedStudioProjects();

                    foreach (XmlNode xmlNode in projectsNodeList)
                    {
                        var projectId   = GetAttributeValue(xmlNode, "Guid");
                        var projectInfo = studioProjects.FirstOrDefault(a => a.GetProjectInfo()?.Id.ToString() == projectId)?.GetProjectInfo();
                        if (projectInfo == null)
                        {
                            continue;
                        }

                        var reportsFolderPath = Path.Combine(projectInfo.LocalProjectFolder, "Reports");
                        var projectInfoNode   = xmlNode.SelectSingleNode("./ProjectInfo");
                        if (projectInfoNode?.Attributes != null)
                        {
                            var reportExist = _reportService.ReportFolderExist(xmlNode, _projectService.ProjectsXmlPath);
                            if (reportExist)
                            {
                                SetProjectDetails(reportsFolderPath, projectInfoNode, xmlNode, filePathNames);
                            }
                            else
                            {
                                projectsWithoutAnalysis.Add(projectInfo.Name);
                            }
                        }
                    }

                    SetProjectDataSource();

                    if (projectsWithoutAnalysis.Count > 0 && !_settingsService.GetSettings().DontShowInfoMessage)
                    {
                        var messageBox = new InformationMessage(_settingsService, projectsWithoutAnalysis);
                        messageBox.ShowDialog();
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Error($"LoadProjectsList method: {ex.Message}\n {ex.StackTrace}");
            }
        }
Beispiel #2
0
        /// <summary>
        /// Reads studio projects from project.xml
        /// Adds projects to listbox
        /// </summary>
        private void LoadProjectsList(string projectXmlPath, List <string> studioProjectsPaths)
        {
            try
            {
                var projectXmlDocument = new XmlDocument();
                var filePathNames      = _projectService.AddFilePaths(studioProjectsPaths);

                if (!IsNullOrEmpty(projectXmlPath))
                {
                    projectXmlDocument.Load(projectXmlPath);

                    var projectsNodeList = projectXmlDocument.SelectNodes("//ProjectListItem");
                    if (projectsNodeList == null)
                    {
                        return;
                    }
                    foreach (var item in projectsNodeList)
                    {
                        var projectInfo = ((XmlNode)item).SelectSingleNode("./ProjectInfo");
                        if (projectInfo?.Attributes != null)
                        {
                            var reportExist = _reportService.ReportFolderExist((XmlNode)item, _projectService.ProjectsXmlPath);
                            if (reportExist)
                            {
                                SetProjectDetails(projectInfo, (XmlNode)item, filePathNames);
                            }
                        }
                    }
                    SetProjectDataSource();
                }
            }
            catch (Exception ex)
            {
                Log.Logger.Error($"LoadProjectsList method: {ex.Message}\n {ex.StackTrace}");
            }
        }