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>(); }
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); }
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; }