/// <summary> /// Inflate recovery data /// </summary> private void _InflateRecoveryData(TDSSessionRecoveryData data) { // Check if database is available if (data.Database != null) { // Apply database Database = data.Database; } // Check if language is available if (data.Language != null) { // Apply language Language = LanguageString.ToEnum(data.Language); } // Check if collation is available if (data.Collation != null) { Collation = data.Collation; } // Traverse all session states and inflate each separately foreach (TDSSessionStateOption option in data.Options) { // Check on the options if (option is TDSSessionStateUserOptionsOption) { // Cast to specific option TDSSessionStateUserOptionsOption specificOption = option as TDSSessionStateUserOptionsOption; // Transfer properties from the session state onto the session AnsiWarnings = specificOption.AnsiWarnings; AnsiNulls = specificOption.AnsiNulls; CursorCloseOnCommit = specificOption.CursorCloseOnCommit; QuotedIdentifier = specificOption.QuotedIdentifier; ConcatNullYieldsNull = specificOption.ConcatNullYieldsNull; AnsiNullDefaultOn = specificOption.AnsiNullDefaultOn; AnsiPadding = specificOption.AnsiPadding; ArithAbort = specificOption.ArithAbort; TransactionAbortOnError = specificOption.TransactionAbortOnError; NoCount = specificOption.NoCount; ArithIgnore = specificOption.ArithIgnore; ImplicitTransactions = specificOption.ImplicitTransactions; NumericRoundAbort = specificOption.NumericRoundAbort; } else if (option is TDSSessionStateDateFirstDateFormatOption) { // Cast to specific option TDSSessionStateDateFirstDateFormatOption specificOption = option as TDSSessionStateDateFirstDateFormatOption; // Transfer properties from the session state onto the session DateFirst = specificOption.DateFirst; DateFormat = specificOption.DateFormat; } else if (option is TDSSessionStateDeadlockPriorityOption) { // Cast to specific option TDSSessionStateDeadlockPriorityOption specificOption = option as TDSSessionStateDeadlockPriorityOption; // Transfer properties from the session state onto the session DeadlockPriority = specificOption.Value; } else if (option is TDSSessionStateLockTimeoutOption) { // Cast to specific option TDSSessionStateLockTimeoutOption specificOption = option as TDSSessionStateLockTimeoutOption; // Transfer properties from the session state onto the session LockTimeout = specificOption.Value; } else if (option is TDSSessionStateISOFipsOption) { // Cast to specific option TDSSessionStateISOFipsOption specificOption = option as TDSSessionStateISOFipsOption; // Transfer properties from the session state onto the session TransactionIsolationLevel = specificOption.TransactionIsolationLevel; } else if (option is TDSSessionStateTextSizeOption) { // Cast to specific option TDSSessionStateTextSizeOption specificOption = option as TDSSessionStateTextSizeOption; // Transfer properties from the session state onto the session TextSize = specificOption.Value; } else if (option is TDSSessionStateContextInfoOption) { // Cast to specific option TDSSessionStateContextInfoOption specificOption = option as TDSSessionStateContextInfoOption; // Transfer properties from the session state onto the session ContextInfo = specificOption.Value; } } }