public void RemoveExtension(Type extensionType) { if (_extension == null) return; if (_extension.GetType() == extensionType) { _extension = _extension.Next; return; } var extension = _extension; while (extension != null) { if (extension.Next.GetType() == extensionType) { extension.Next = extension.Next.Next; return; } extension = extension.Next; } }
public MappingDataReader(string dataSetName, IDataReader sourceReader, string[] aliases, string[] fieldNames, DataSourceErrorInspector errorInspector) { if (sourceReader == null) { if (Global.Tracer.TraceError) { Global.Tracer.Trace(TraceLevel.Error, "The source data reader is null. Cannot read results."); } throw new ReportProcessingException(ErrorCode.rsErrorCreatingDataReader, dataSetName.MarkAsPrivate()); } Global.Tracer.Assert(aliases != null, "(null != aliases)"); m_dataSetName = dataSetName; m_dataReader = sourceReader; m_fieldNames = fieldNames; m_errorInspector = errorInspector; m_dataReaderExtension = (sourceReader as IDataReaderExtension); m_dataFieldProperties = (sourceReader as IDataReaderFieldProperties); if (fieldNames == null) { if (Global.Tracer.TraceInfo) { Global.Tracer.Trace(TraceLevel.Info, "The array of field names is null. Aliases will map positionally to the data reader fields."); } for (int i = 0; i < aliases.Length; i++) { m_aliasIndexToFieldIndex[i] = i; } return; } Global.Tracer.Assert(aliases.Length == fieldNames.Length, " (aliases.Length == fieldNames.Length)"); m_aliasIndexToFieldIndex = new int[aliases.Length]; if (fieldNames == null) { if (Global.Tracer.TraceWarning) { Global.Tracer.Trace(TraceLevel.Warning, "The data reader does not have any fields."); } for (int j = 0; j < aliases.Length; j++) { m_aliasIndexToFieldIndex[j] = -1; } return; } for (int k = 0; k < aliases.Length; k++) { string text = fieldNames[k]; if (text != null) { int num; try { num = m_dataReader.GetOrdinal(text); } catch (RSException) { throw; } catch (Exception ex2) { if (AsynchronousExceptionDetection.IsStoppingException(ex2)) { throw; } Global.Tracer.Trace(TraceLevel.Warning, "An exception occurred while trying to map a data set field. Field: '{0}' DataField: '{1}' Details: {2}", aliases[k].MarkAsModelInfo(), fieldNames[k].MarkAsModelInfo(), ex2.Message); num = -1; } m_aliasIndexToFieldIndex[k] = num; } else { m_aliasIndexToFieldIndex[k] = -1; m_fieldNames[k] = aliases[k]; } } if (Global.Tracer.TraceVerbose) { Global.Tracer.Trace(TraceLevel.Verbose, "Mapping data reader successfully initialized."); } }
public AuthorizedDataReaderExtension(DataReader dataReader, string key, IDataReaderExtension next) { _key = key; Next = next; _dataReader = dataReader; }
public void AddExtension(IDataReaderExtension extension) { _extension = extension; }
public MonitoredDataReaderExtension(DataReader dataReader, IDataReaderExtension next) { _dataReader = dataReader; Next = next; }