private void ProcessDataReader() { CheckConnection(); using (var connection = new InformationServiceConnection((IInformationService)SwisConnection)) { connection.Open(); using (var command = new InformationServiceCommand(Query, connection)) { command.CommandTimeout = timeOut; command.ApplicationTag = "SwisPowerShell"; if (Parameters != null) { foreach (var paramName in Parameters.Keys) { command.Parameters.AddWithValue(paramName.ToString(), PropertyBagFromDictionary(Parameters[paramName])); } } using (var reader = command.ExecuteReader()) { var factory = new DataReaderObjectFactory(reader); var enumerator = factory.GetEnumerator(); while (enumerator.MoveNext()) { WriteObject(enumerator.Current); } if (reader.Errors != null) { StringBuilder sbWarningMessages = new StringBuilder(); sbWarningMessages.AppendLine("Warning :: Partial results returned"); foreach (var errorMessage in reader.Errors) { sbWarningMessages.AppendLine(string.Format("ErrorType : {0}", errorMessage.ErrorType)); sbWarningMessages.AppendLine(string.Format("Context : {0}", errorMessage.Context)); sbWarningMessages.AppendLine(string.Format("Message : {0}", errorMessage.Message)); sbWarningMessages.AppendLine("-------------------------------------------------"); } WriteWarning(sbWarningMessages.ToString()); } } } } }
private void ProcessDataReader() { CheckConnection(); using (var connection = new InformationServiceConnection((IInformationService)SwisConnection)) { connection.Open(); using (var command = new InformationServiceCommand(Query, connection)) { command.CommandTimeout = timeOut; command.ApplicationTag = "SwisPowerShell"; if (Parameters != null) { foreach (var paramName in Parameters.Keys) { command.Parameters.AddWithValue(paramName.ToString(), PropertyBagFromDictionary(Parameters[paramName])); } } using (var reader = command.ExecuteReader()) { var factory = new DataReaderObjectFactory(reader); var enumerator = factory.GetEnumerator(); while (enumerator.MoveNext()) WriteObject(enumerator.Current); if (reader.Errors != null) { StringBuilder sbWarningMessages = new StringBuilder(); sbWarningMessages.AppendLine("Warning :: Partial results returned"); foreach (var errorMessage in reader.Errors) { sbWarningMessages.AppendLine(string.Format("ErrorType : {0}", errorMessage.ErrorType)); sbWarningMessages.AppendLine(string.Format("Context : {0}", errorMessage.Context)); sbWarningMessages.AppendLine(string.Format("Message : {0}", errorMessage.Message)); sbWarningMessages.AppendLine("-------------------------------------------------"); } WriteWarning(sbWarningMessages.ToString()); } } } } }