Exemplo n.º 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());
        }
 // Token: 0x06000EA1 RID: 3745 RVA: 0x0003EA7B File Offset: 0x0003CC7B
 public DataStoreSnapshotAnalyzer(DiffReportVerboseMode verboseMode)
 {
     this.Container     = new DataStoreMergedContainer(verboseMode);
     this.AnalysisPhase = "None";
     this.TimingInfo    = new Dictionary <string, int>();
 }
Exemplo n.º 3
0
        public static DataStoreDiffReport Create(IEnumerable <DataStoreMergedContainer.KeyEntry> keyEntries, DiffReportVerboseMode diffReportVerboseMode)
        {
            DataStoreDiffReport dataStoreDiffReport = new DataStoreDiffReport();

            foreach (DataStoreMergedContainer.KeyEntry keyEntry in keyEntries)
            {
                if (keyEntry.IsPresentOnlyInClusdb)
                {
                    dataStoreDiffReport.KeysOnlyInClusdb.Add(keyEntry);
                }
                else if (keyEntry.IsPresentOnlyInDxStore)
                {
                    dataStoreDiffReport.KeysOnlyInDxStore.Add(keyEntry);
                }
                else if (keyEntry.IsPropertiesMatch)
                {
                    dataStoreDiffReport.KeysInBothAndPropertiesMatch.Add(keyEntry);
                }
                else
                {
                    dataStoreDiffReport.KeysInBothButPropertiesMismatch.Add(keyEntry);
                }
                dataStoreDiffReport.CountPropertiesOnlyInClusdb                += keyEntry.PropertiesOnlyInClusdbCount;
                dataStoreDiffReport.CountPropertiesOnlyInDxStore               += keyEntry.PropertiesOnlyInDxStoreCount;
                dataStoreDiffReport.CountPropertiesSameInClusdbAndDxStore      += keyEntry.PropertyMatchCount;
                dataStoreDiffReport.CountPropertiesDifferentInClusdbAndDxStore += keyEntry.PropertyDifferentCount;
            }
            dataStoreDiffReport.VerboseReport = dataStoreDiffReport.GenerateVerboseReport(diffReportVerboseMode);
            return(dataStoreDiffReport);
        }
Exemplo n.º 4
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();
     }
 }
 public DataStoreMergedContainer(DiffReportVerboseMode diffReportVerboseMode)
 {
     this.Entries = new SortedDictionary <string, DataStoreMergedContainer.KeyEntry>(StringComparer.OrdinalIgnoreCase);
     this.DiffReportVerboseMode = diffReportVerboseMode;
 }