コード例 #1
0
        public LiftService(ILiftRepository liftRepository, ILiftLogRepository liftLogRepository, IOptions <LiftServiceOptions> options, ILiftScheduler liftScheduler)
        {
            _liftRepository    = liftRepository;
            _liftLogRepository = liftLogRepository;
            _liftScheduler     = liftScheduler;
            _options           = options.Value;

            for (int i = 1; i <= _options.Lifts; i++)
            {
                var lift = new Lift(i, _options.LiftMovementTime, _options.DoorOpenCloseTime, _options.FloorsMin);
                lift.OnActionCompleted += OnLiftFinishedOperation;
                lift.OnStateChanged    += OnLiftStateChange;
                _liftRepository.Add(lift);
            }
        }