public SolutionReader(Solution parent) { _parent = parent; _read = normalRead; }
private void InitializeFromSolution(CsProjFile projFile, Solution solution) { var tfsSourceControl = solution.Sections.FirstOrDefault(section => section.SectionName.Equals("TeamFoundationVersionControl")); if (tfsSourceControl != null) { this.InitializeTfsSourceControlSettings(projFile, solution, tfsSourceControl); } }
private void InitializeTfsSourceControlSettings(CsProjFile projFile, Solution solution, GlobalSection tfsSourceControl) { var projUnique = tfsSourceControl.Properties.FirstOrDefault(item => item.EndsWith(Path.GetFileName(projFile.FileName))); if (projUnique == null) { return; } int index = Convert.ToInt32(projUnique.Substring("SccProjectUniqueName".Length, projUnique.IndexOf('=') - "SccProjectUniqueName".Length).Trim()); projFile.SourceControlInformation = new SourceControlInformation( tfsSourceControl.Properties.First(item => item.StartsWith("SccProjectUniqueName" + index)).Split('=')[1].Trim(), tfsSourceControl.Properties.First(item => item.StartsWith("SccProjectName" + index)).Split('=')[1].Trim(), tfsSourceControl.Properties.First(item => item.StartsWith("SccLocalPath" + index)).Split('=')[1].Trim()); }
private static string CalcSolutionPath(Solution solution, Guid projGuid, Dictionary<Guid, Guid> childToParent, string path) { if (!childToParent.ContainsKey(projGuid)) return path; var parentGuid = childToParent[projGuid]; var parent = solution.Projects.FirstOrDefault(p => p.ProjectGuid == parentGuid); if (parent == null) return path; return CalcSolutionPath(solution, parent.ProjectGuid, childToParent, parent.ProjectName + "\\" + path); }