private void Add(string path, ProjectUpgradeLogger.LogItem newItem)
        {
            List <ProjectUpgradeLogger.LogItem> orCreateFileItems = this.GetOrCreateFileItems(path);

            orCreateFileItems.RemoveAll((ProjectUpgradeLogger.LogItem item) => ProjectUpgradeLogger.LogItem.Equals(item, newItem));
            orCreateFileItems.Add(newItem);
        }
 public void Save(TextWriter writer)
 {
     foreach (KeyValuePair <string, List <ProjectUpgradeLogger.LogItem> > keyValuePair in this.log)
     {
         string str = new string('-', keyValuePair.Key.Length);
         writer.WriteLine(str);
         writer.WriteLine(keyValuePair.Key);
         writer.WriteLine(str);
         List <ProjectUpgradeLogger.LogItem> value = keyValuePair.Value;
         for (int i = 0; i < value.Count; i++)
         {
             ProjectUpgradeLogger.LogItem item = value[i];
             if (!item.IsSuccess)
             {
                 writer.WriteLine(StringTable.ConversionErrorEntry, item.Message, item.Error);
             }
             else
             {
                 writer.WriteLine(item.Message);
             }
         }
         writer.WriteLine();
         writer.WriteLine();
     }
 }
 public static bool Equals(ProjectUpgradeLogger.LogItem left, ProjectUpgradeLogger.LogItem right)
 {
     if (left == right)
     {
         return(true);
     }
     if (left == null || right == null)
     {
         return(false);
     }
     if (string.Equals(left.Message, right.Message) && string.Equals(left.Error, right.Error))
     {
         return(true);
     }
     return(false);
 }