コード例 #1
0
        public override void SetListenerSpecificData(ListenerTriggeredEventArgs eventArgs)
        {
            base.SetListenerSpecificData(eventArgs);
            string FullFileName = DataToPass["ImpactedFullFileOrFolderName"].ToString();

            if (File.Exists(FullFileName))
            {
                if (!FilePositions.ContainsKey(FullFileName))
                {
                    FilePositions.Add(FullFileName, 0);
                }
                using (FileStream _textReader = new FileStream(FullFileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                {
                    _textReader.Seek(FilePositions[FullFileName], SeekOrigin.Begin);
                    using (StreamReader sr = new StreamReader(_textReader))
                    {
                        eventArgs.Data["AdditionalContent"] = sr.ReadToEnd();
                        FilePositions[FullFileName]         = _textReader.Position;
                    }
                }
            }
            else
            {
                FilePositions.Remove(FullFileName);
            }
        }
コード例 #2
0
ファイル: JobListener.cs プロジェクト: xuan2261/EasyETL.Net
 public virtual void SetListenerSpecificData(ListenerTriggeredEventArgs eventArgs)
 {
     _triggeredCount        += 1;
     eventArgs.Data["RunID"] = _triggeredCount;
     foreach (KeyValuePair <string, object> kvPair in DataToPass)
     {
         eventArgs.Data[kvPair.Key] = kvPair.Value;
     }
 }
コード例 #3
0
ファイル: JobListener.cs プロジェクト: xuan2261/EasyETL.Net
        public void TriggerEvent()
        {
            EventHandler <ListenerTriggeredEventArgs> handler = OnTriggered;

            if (handler != null)
            {
                ListenerTriggeredEventArgs e = new ListenerTriggeredEventArgs()
                {
                    Listener = this, Originator = _originator, TimeTriggered = DateTime.Now, Data = new Dictionary <string, object>(StringComparer.CurrentCultureIgnoreCase)
                };
                SetListenerSpecificData(e);
                handler(this, e);
            }
        }
コード例 #4
0
ファイル: TimerListener.cs プロジェクト: xuan2261/EasyETL.Net
 public override void SetListenerSpecificData(ListenerTriggeredEventArgs eventArgs)
 {
     base.SetListenerSpecificData(eventArgs);
     eventArgs.Data["DayOfWeek"] = DateTime.Now.DayOfWeek.ToString();
 }
コード例 #5
0
ファイル: FileListener.cs プロジェクト: xuan2261/EasyETL.Net
 public override void SetListenerSpecificData(ListenerTriggeredEventArgs eventArgs)
 {
     base.SetListenerSpecificData(eventArgs);
     eventArgs.Data["AdditionalContent"] = new StreamReader(_textReader).ReadToEnd();
     _textReader.Seek(0, SeekOrigin.End);
 }