/// <summary>
        /// 查找N秒前的缓存数据,缓存时间不能超过历史时刻:HistoryTime
        /// </summary>
        /// <param name="carSensorSet"></param>
        /// <param name="historyTime">历史时刻:HistoryTime</param>
        /// <param name="seconds">N秒前数据</param>
        /// <returns></returns>
        public static CarSignalInfo[] QueryCachedSeconds(this ICarSignalSet carSensorSet, DateTime historyTime, double seconds)
        {
            var cachedDateTime = DateTime.Now.AddSeconds(-seconds);
            var time           = cachedDateTime < historyTime ? historyTime : cachedDateTime;

            return(carSensorSet.Query(time));
        }
 public CarSignalChangedMonitor(IMessenger messenger, ICarSignalSet carSignalSet, ILog log, IDataService dataService)
 {
     Messenger        = messenger;
     this.Logger      = log;
     this.dataService = dataService;
     CarSignalSet     = carSignalSet;
 }
 public DefaultCarSignalProcessor(ICarSignalSet signalSet, IDataService dataService, IMessenger messenger, ILog log)
 {
     Order           = 1;
     CarSignalSet    = signalSet;
     Messenger       = messenger;
     Settings        = dataService.GetSettings();
     Logger          = log;
     CarSignalQuque  = new Queue <CarSignalInfo>();
     AngleCalculator = new GpsAngleCalculator(signalSet);
     MileageUpdator  = new MileageUpdater(messenger, Settings.ParkingValueKmh);
     Messenger.Register <ExamStartMessage>(this, OnExamStart);
 }
Exemple #4
0
 public AdvancedCarSignal(ICarSignalSet carSignalSet)
 {
     // Logger = LogManager.GetLogger(this.GetType());
     CarSignalSet = carSignalSet;
 }
Exemple #5
0
        //protected ICarSignalSet CarSignalSet
        //{
        //    get { return Singleton.GetCarSignalSet; }
        //}

        public GpsAngleCalculator(ICarSignalSet signalSet)
        {
            CarSignalSet = signalSet;
        }
        /// <summary>
        /// 查找N秒前的缓存数据
        /// </summary>
        /// <param name="carSensorSet"></param>
        /// <param name="seconds"></param>
        /// <returns></returns>
        public static CarSignalInfo[] QueryCachedSeconds(this ICarSignalSet carSensorSet, double seconds)
        {
            var cachedDateTime = DateTime.Now.AddSeconds(-seconds);

            return(carSensorSet.Query(cachedDateTime));
        }
Exemple #7
0
 public CarSignalReceviedHandler(ILog log, ICarSignalProcessor carSignalProcessor, ICarSignalDependency carSignalDependency, IMessenger messenger, ICarSignalSet carSignalSet)
 {
     this.Logger = log;
     //TODO:根据李兴亮描述这点依赖注入 没有注入进来
     this.CarSignalProcessors = carSignalProcessor ?? Singleton.GetCarSignalProcessor;
     this.CarSignalMonitor    = carSignalDependency;
     this.Messenger           = messenger;
     this.CarSignalSet        = carSignalSet;
 }