示例#1
0
        // 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);
        }
 private static Server GetServerByName(ITopologyConfigurationSession adSession, string serverName)
 {
     serverName = SharedHelper.GetNodeNameFromFqdn(serverName);
     return(adSession.FindServerByName(serverName));
 }