コード例 #1
0
 public void AddScenario(IPressScenario scenario)
 {
     while (scenario.PeekNextEvent().Date < _currentDate)
     {
         scenario.PopNextEvent();
     }
     if (scenario.PeekNextEvent() != null)
     {
         _scenarios.Add(scenario);
     }
 }
コード例 #2
0
        // Gets the scenario that contains event with smallest time value
        private IPressScenario GetClosestEventScenario()
        {
            DateTime       min         = _endDate;
            IPressScenario minScenario = null;

            foreach (var scenario in _scenarios)
            {
                var nextEvent = scenario.PeekNextEvent();
                if (nextEvent == null)
                {
                    continue;
                }
                if ((minScenario == null) || (min > nextEvent.Date))
                {
                    min         = nextEvent.Date;
                    minScenario = scenario;
                }
            }
            return(minScenario);
        }