Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
 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;
 }
Beispiel #4
0
 public void AddExtension(IDataReaderExtension extension)
 {
     _extension = extension;
 }
 public MonitoredDataReaderExtension(DataReader dataReader, IDataReaderExtension next)
 {
     _dataReader = dataReader;
     Next = next;
 }