public void ExecuteAction()
        {
            if (_firstTriggered != null && (DateTime.UtcNow - TriggerPeriod) > _firstTriggered)
            {
                //  make sure no recent action was taken on this
                foreach (var actionItem in ActionHistory)
                {
                    if (actionItem.TriggerItem.Application.Properties.ApplicationName == _triggeringItem.Application.Properties.ApplicationName &&
                        actionItem.TriggerItem.Service.Properties.ServiceName == _triggeringItem.Service.Properties.ServiceName &&
                        (DateTime.UtcNow - ActionGracePeriod) < actionItem.TimeTriggeredUtc)
                    {
                        // we should do any new action yet - we have a grace period
                        return;
                    }
                }

                TriggerAction.Execute(_triggeringItem);
                WatchdogEventSource.Current.ActionFired(TriggerAction.GetType().FullName, this.ToString(_triggeringItem), _triggeringItem.ToString());

                ActionHistory.Add(new RuleActionItem()
                {
                    TimeTriggeredUtc = DateTime.UtcNow,
                    TriggerItem      = _triggeringItem,
                    TriggerAction    = TriggerAction
                });
            }
        }
Beispiel #2
0
 private void OnChoiceDate()
 {
     ActionHistory.Add(new LeisureAction {
         Kind = LeisureKind.Date, Turn = Turn
     });
     Update();
 }
Beispiel #3
0
 private void OnChoiceInfirmary()
 {
     ActionHistory.Add(new LeisureAction {
         Kind = LeisureKind.Infirmary, Turn = Turn
     });
     Update();
 }
Beispiel #4
0
 private void OnChoiceWiseFailer()
 {
     ActionHistory.Add(new TrainingAction {
         Kind = TrainingKind.Wise, Turn = Turn, Result = TrainingResult.Failed, IsFriendlyTag = false
     });
     Update();
 }
Beispiel #5
0
 private void OnChoiceHoliday()
 {
     ActionHistory.Add(new LeisureAction {
         Kind = LeisureKind.Holiday, Turn = Turn
     });
     Update();
 }
Beispiel #6
0
 private void OnChoiceWiseFriendly()
 {
     ActionHistory.Add(new TrainingAction {
         Kind = TrainingKind.Wise, Turn = Turn, Result = TrainingResult.Success, IsFriendlyTag = true
     });
     Update();
 }
Beispiel #7
0
 private void OnChoiceGutsSuccess()
 {
     ActionHistory.Add(new TrainingAction {
         Kind = TrainingKind.Guts, Turn = Turn, Result = TrainingResult.Success, IsFriendlyTag = false
     });
     Update();
 }
Beispiel #8
0
 private void OnChoiceDebut()
 {
     ActionHistory.Add(new RaceAction {
         RaceGrade = RaceGrade.Debut, Turn = Turn
     });
     Update();
 }
Beispiel #9
0
 private void OnChoiceOpen()
 {
     ActionHistory.Add(new RaceAction {
         RaceGrade = RaceGrade.Open, Turn = Turn
     });
     Update();
 }
Beispiel #10
0
 private void OnChoiceURA()
 {
     ActionHistory.Add(new RaceAction {
         RaceGrade = RaceGrade.URA, Turn = Turn
     });
     Update();
 }