// Token: 0x06000313 RID: 787 RVA: 0x00011B78 File Offset: 0x0000FD78 internal static AmDbStateInfo ReplaceProperty(AmDbStateInfo oldStateInfo, AmDbStateInfo.PropertyNames propName, string propValue) { bool isPropExist = false; string str = oldStateInfo.ToString(); StringBuilder sb = new StringBuilder(500); AmDbStateInfo.ParseNameValuePairs(str, delegate(string name, string value) { if (AmDbStateInfo.IsMatching(name, propName)) { if (!isPropExist) { AmDbStateInfo.AppendNameValue(sb, propName.ToString(), propValue); isPropExist = true; return; } } else { AmDbStateInfo.AppendNameValue(sb, name, value); } }); if (!isPropExist) { AmDbStateInfo.AppendNameValue(sb, propName.ToString(), propValue); } return(AmDbStateInfo.Parse(oldStateInfo.DatabaseGuid, sb.ToString())); }
// Token: 0x06000314 RID: 788 RVA: 0x00011D04 File Offset: 0x0000FF04 internal static AmDbStateInfo Parse(Guid databaseGuid, string entryStr) { AmDbStateInfo stateInfo = new AmDbStateInfo(databaseGuid); stateInfo.IsEntryExist = true; AmDbStateInfo.ParseNameValuePairs(entryStr, delegate(string name, string value) { if (AmDbStateInfo.IsMatching(name, AmDbStateInfo.PropertyNames.ActiveServer)) { stateInfo.ActiveServer = new AmServerName(SharedHelper.GetNodeNameFromFqdn(value)); return; } if (AmDbStateInfo.IsMatching(name, AmDbStateInfo.PropertyNames.LastMountedServer)) { stateInfo.LastMountedServer = new AmServerName(SharedHelper.GetNodeNameFromFqdn(value)); return; } if (AmDbStateInfo.IsMatching(name, AmDbStateInfo.PropertyNames.LastMountedTime)) { DateTime lastMountedTime; DateTime.TryParseExact(value, DateTimeFormatInfo.InvariantInfo.SortableDateTimePattern, DateTimeFormatInfo.InvariantInfo, DateTimeStyles.RoundtripKind, out lastMountedTime); stateInfo.LastMountedTime = lastMountedTime; return; } if (AmDbStateInfo.IsMatching(name, AmDbStateInfo.PropertyNames.MountStatus)) { MountStatus mountStatus; EnumUtility.TryParse <MountStatus>(value, out mountStatus, MountStatus.Dismounted); stateInfo.MountStatus = mountStatus; return; } if (AmDbStateInfo.IsMatching(name, AmDbStateInfo.PropertyNames.IsAdminDismounted)) { stateInfo.IsAdminDismounted = bool.Parse(value); return; } if (AmDbStateInfo.IsMatching(name, AmDbStateInfo.PropertyNames.IsAutomaticActionsAllowed)) { stateInfo.IsAutomaticActionsAllowed = bool.Parse(value); return; } if (AmDbStateInfo.IsMatching(name, AmDbStateInfo.PropertyNames.FailoverSequenceNumber)) { stateInfo.FailoverSequenceNumber = long.Parse(value); } }); return(stateInfo); }