public DataStoreMergedContainer.KeyEntry AddOrUpdateKey(string fullKeyName, bool isClusdb) { DataStoreMergedContainer.KeyEntry keyEntry = null; if (!this.Entries.TryGetValue(fullKeyName, out keyEntry) || keyEntry == null) { keyEntry = new DataStoreMergedContainer.KeyEntry(fullKeyName); this.Entries.Add(fullKeyName, keyEntry); } keyEntry.Update(isClusdb); return(keyEntry); }
internal bool IsLastLogPropertiesAreTheOnlyDifference(DataStoreDiffReport report) { if (report.CountKeysOnlyInClusdb == 0 && report.CountKeysOnlyInDxStore == 0 && report.CountKeysInClusdbAndDxStoreButPropertiesDifferent == 1) { DataStoreMergedContainer.KeyEntry keyEntry = report.KeysInBothButPropertiesMismatch.FirstOrDefault <DataStoreMergedContainer.KeyEntry>(); if (keyEntry != null && Utils.IsEqual(keyEntry.Name, "\\ExchangeActiveManager\\LastLog", StringComparison.OrdinalIgnoreCase)) { return(true); } } return(false); }
// Token: 0x06000EB5 RID: 3765 RVA: 0x0003EDE8 File Offset: 0x0003CFE8 public void Apply(bool isClusdb, XElement element, string fullKeyName = null) { if (string.IsNullOrEmpty(fullKeyName)) { fullKeyName = element.Attribute("Name").Value; } DataStoreMergedContainer.KeyEntry keyEntry = this.Container.AddOrUpdateKey(fullKeyName, isClusdb); if (element.HasElements) { List <XElement> list = new List <XElement>(); foreach (XElement xelement in element.Elements()) { string localName = xelement.Name.LocalName; if (Utils.IsEqual(localName, "Key", StringComparison.OrdinalIgnoreCase)) { list.Add(xelement); } else if (Utils.IsEqual(localName, "Value", StringComparison.OrdinalIgnoreCase)) { string value = xelement.Attribute("Name").Value; string value2 = xelement.Attribute("Kind").Value; string value3 = xelement.Value; keyEntry.AddOrUpdateProperty(value, value3, value2, isClusdb); } } if (list.Count > 0) { foreach (XElement xelement2 in list) { string value4 = xelement2.Attribute("Name").Value; string fullKeyName2 = Path.Combine(fullKeyName, value4); this.Apply(isClusdb, xelement2, fullKeyName2); } } } }