Beispiel #1
0
        public string GenerateVerboseReport(DiffReportVerboseMode diffReportVerboseMode)
        {
            if (diffReportVerboseMode.HasFlag(DiffReportVerboseMode.Disabled))
            {
                return("*** Verbose reporting mode is disabled ***");
            }
            StringBuilder stringBuilder = new StringBuilder(1024);

            this.DumpKeys(stringBuilder, "Keys only present in ClusDb", this.KeysOnlyInClusdb, diffReportVerboseMode);
            this.DumpKeys(stringBuilder, "Keys only present in DxStore", this.KeysOnlyInDxStore, diffReportVerboseMode);
            this.DumpKeys(stringBuilder, "Keys present on both but properties not matching", this.KeysInBothButPropertiesMismatch, diffReportVerboseMode);
            if (diffReportVerboseMode.HasFlag(DiffReportVerboseMode.ShowMatchingKeys))
            {
                this.DumpKeys(stringBuilder, "Keys present on both and properties matching", this.KeysInBothAndPropertiesMatch, diffReportVerboseMode);
            }
            return(stringBuilder.ToString());
        }
Beispiel #2
0
 public void DumpKeys(StringBuilder sb, string title, List <DataStoreMergedContainer.KeyEntry> keyEntries, DiffReportVerboseMode diffReportVerboseMode)
 {
     if (keyEntries != null && keyEntries.Count > 0)
     {
         sb.AppendLine(title);
         sb.AppendLine(new string('=', title.Length));
         foreach (DataStoreMergedContainer.KeyEntry keyEntry in keyEntries)
         {
             keyEntry.DumpStats(sb);
             if (diffReportVerboseMode.HasFlag(DiffReportVerboseMode.ShowPropertyNames))
             {
                 keyEntry.DumpProperties(sb, diffReportVerboseMode.HasFlag(DiffReportVerboseMode.ShowPropertyValues));
             }
         }
         sb.AppendLine();
     }
 }