Пример #1
0
 private Solution RemoveTestDocuments(Solution solution)
 {
     var documentsToRemove = new List<DocumentId>();
     foreach (var project in solution.Projects)
     {
         ConsolePrinter.PrintStatus(Operation.RemovingTestFiles, $"{solution.Projects}");
         documentsToRemove.AddRange(from d in project.Documents
             where d.Name.ToUpper().Contains(TestString)
             select d.Id);
     }
     Solution filteredSolution = null;
     foreach (var document in documentsToRemove)
     {
         filteredSolution = solution.RemoveDocument(document);
     }
     return filteredSolution ?? solution;
 }
Пример #2
0
 public Solution RemoveBlackListedDocuments(Solution solution, IEnumerable<string> blackList)
 {
     var originalBlackList = blackList.ToList();
     Solution filteredSolution = null;
     var blacklistedDocuments = new HashSet<DocumentId>();
     foreach (var project in solution.Projects)
     {
         foreach (var item in originalBlackList)
         {
             blacklistedDocuments.UnionWith(from doc in project.Documents where doc.Name.Contains(item) select doc.Id);
         }
     }
     foreach (var document in blacklistedDocuments)
     {
         filteredSolution = solution.RemoveDocument(document);
     }
     return filteredSolution ?? solution;
 }
Пример #3
0
        private Solution ApplyFileChanges(Solution solution, IEnumerable<FileChange> fileChanges, bool applyingChanges)
        {
            foreach (FileChange fileChange in fileChanges)
            {
                var oldDocument = fileChange.GetOldDocument();
                var updatedDocument = fileChange.GetUpdatedDocument();
                bool isAdditionalDoc = fileChange.IsAdditionalDocumentChange;

                if (oldDocument == null)
                {
                    // Added document to new solution.
                    // If unchecked, then remove this added document from new solution.
                    if (applyingChanges && fileChange.CheckState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Unchecked)
                    {
                        solution = isAdditionalDoc ?
                            solution.RemoveAdditionalDocument(updatedDocument.Id) :
                            solution.RemoveDocument(updatedDocument.Id);
                    }
                }
                else if (updatedDocument == null)
                {
                    // Removed document from old solution.
                    // If unchecked, then add back this removed document to new solution.
                    if (applyingChanges && fileChange.CheckState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Unchecked)
                    {
                        var oldText = oldDocument.GetTextAsync().Result.ToString();
                        solution = isAdditionalDoc ?
                            solution.AddAdditionalDocument(oldDocument.Id, oldDocument.Name, oldText, oldDocument.Folders, oldDocument.FilePath) :
                            solution.AddDocument(oldDocument.Id, oldDocument.Name, oldText, oldDocument.Folders, oldDocument.FilePath);
                    }
                }
                else
                {
                    // Changed document.
                    solution = isAdditionalDoc ?
                        solution.WithAdditionalDocumentText(updatedDocument.Id, updatedDocument.GetTextAsync().Result) :
                        solution.WithDocumentText(updatedDocument.Id, updatedDocument.GetTextAsync().Result);
                }
            }

            return solution;
        }