コード例 #1
0
 public VehicleFlow(IRepository <CarInRecord, long> carInRecordRepository,
                    IUnitOfWorkManager unitOfWorkManager,
                    IRepository <CarOutRecord, long> carOutRecordRepository,
                    IRepository <CarPort, long> carPortrepository,
                    IRepository <CarTypes, long> repositoryCarType,
                    IRepository <CarPort, long> repositoryCarPort,
                    IRepository <FareRule> repositoryFareRule,
                    ICarNumberPermission carNumberPermission,
                    IParkBoxOptions parkBoxOption,
                    LedManager ledManager,
                    IRepository <CarDiscount, long> carDiscountrepository,
                    IRepository <CarErrorRecord, long> carErrorRecordRepository,
                    IEventBus eventBus)
 {
     _carInRecordRepository  = carInRecordRepository;
     _unitOfWorkManager      = unitOfWorkManager;
     _carPortrepository      = carPortrepository;
     _carOutRecordRepository = carOutRecordRepository;
     Logger                    = NullLogger.Instance;
     _repositoryCarType        = repositoryCarType;
     _repositoryFareRule       = repositoryFareRule;
     _carNumberPermission      = carNumberPermission;
     _parkBoxOptions           = parkBoxOption;
     _ledManager               = ledManager;
     _repositoryCarPort        = repositoryCarPort;
     _iocManager               = IocManager.Instance;
     _carDiscountrepository    = carDiscountrepository;
     _carErrorRecordRepository = carErrorRecordRepository;
     _eventBus                 = eventBus;
 }
コード例 #2
0
ファイル: ChargerWindow.xaml.cs プロジェクト: lianying/Park
        public ChargerWindow(LedManager ledManager, string carNumber, FareRule fareRule, InOutTypeEnum inOutType,
                             IRepository <CarTypes, long> repositoryCarTypes,
                             IParkBoxOptions parkBoxOptions,
                             IRepository <CarPort, long> repositoryCarPort,
                             IVehicleFlow vehicleFlow,
                             IDeviceable deviceable,
                             IRepository <FareRule> repositoryFareRule,
                             IRepository <RangeTime> repositoryRangeTime,
                             ManualResetEvent manualResetEvent) : this(ledManager, fareRule, repositoryCarTypes, parkBoxOptions, repositoryCarPort, vehicleFlow, deviceable, repositoryFareRule, repositoryRangeTime, manualResetEvent)
        {
            var inTime = DateTime.Now;
            var list   = _vehicleFlow.LevenshteinDistance(parkBoxOptions.ParkId, carNumber);

            chargerViewModel.InTime    = chargerViewModel.OutTime = inTime;
            chargerViewModel.CarNumber = carNumber;
            CarOutModel = new CarOutModel()
            {
                CarInRecord = new CarInRecord()
                {
                    CarNumber = carNumber, InTime = inTime, ParkId = deviceable.EntranceDto.ParkLevel.Park.Id
                }, OutTime = inTime, ParkId = deviceable.EntranceDto.ParkLevel.Park.Id
            };
            AddMenu(list);
            txt_CarType.Text = "无在场记录,请匹配场内车辆";
        }
コード例 #3
0
        public BoxMessage(IParkBoxOptions parkBoxOptions,
                          IVehicleFlow vehicleFlow,
                          ICarNumberPermission carNumberPermission,
                          LedManager ledManager,
                          IRepository <CarTypes, long> repositoryCarType,
                          IRepository <FareRule> repositoryFareRule,
                          IRepository <RangeTime> repositoryRangeTime,
                          IRepository <BlackList, int> repositoryBlackList,
                          IRepository <CarPort, long> repositoryCarPort,
                          IUnitOfWorkManager unitOfWork
                          )
        {
            this.parkBoxOptions  = parkBoxOptions;
            _vehicleFlow         = vehicleFlow;
            _carNumberPermission = carNumberPermission;
            _ledManager          = ledManager;

            _repositoryCarType   = repositoryCarType;
            _repositoryFareRule  = repositoryFareRule;
            _repositoryRangeTime = repositoryRangeTime;
            _repositoryBlackList = repositoryBlackList;
            _repositoryCarPort   = repositoryCarPort;
            Logger      = NullLogger.Instance;
            _unitOfWork = unitOfWork;
        }
コード例 #4
0
        private static void loop()
        {
            while (true)
            {
                if (quit)
                {
                    break;
                }

                int w = 38;
                int h = 22;

                for (int i = 0; i < h; i++)
                {
                    Color pixelColorL = Color.FromArgb(capture_dx.c_array[i * w * 3], capture_dx.c_array[i * w * 3 + 1], capture_dx.c_array[i * w * 3 + 2]);
                    LedManager.setLed(h - i, pixelColorL);

                    Color pixelColorR = Color.FromArgb(capture_dx.c_array[(i * w + w - 1) * 3], capture_dx.c_array[(i * w + w - 1) * 3 + 1], capture_dx.c_array[(i * w + w - 1) * 3 + 2]);
                    LedManager.setLed(i + h + w, pixelColorR);
                }

                for (int i = 1; i < w - 1; i++)
                {
                    Color pixelColor = Color.FromArgb(capture_dx.c_array[i * 3], capture_dx.c_array[i * 3 + 1], capture_dx.c_array[i * 3 + 2]);
                    LedManager.setLed(i + h, pixelColor);
                }
            }
        }
コード例 #5
0
ファイル: ChargerWindow.xaml.cs プロジェクト: lianying/Park
 private ChargerWindow(LedManager ledManager, FareRule fareRule,
                       IRepository <CarTypes, long> repositoryCarTypes,
                       IParkBoxOptions parkBoxOptions,
                       IRepository <CarPort, long> repositoryCarPort,
                       IVehicleFlow vehicleFlow,
                       IDeviceable device,
                       IRepository <FareRule> repositoryFareRule,
                       IRepository <RangeTime> repositoryRangeTime,
                       ManualResetEvent manualResetEvent)
 {
     InitializeComponent();
     _ledManager             = ledManager;
     OutOfferType            = OutOfferTypeEnum.NormalPass;
     FareRule                = fareRule;
     _repositoryCarTypes     = repositoryCarTypes;
     _parkBoxOptions         = parkBoxOptions;
     _repositoryCarPort      = repositoryCarPort;
     _vehicleFlow            = vehicleFlow;
     _repositoryFareRule     = repositoryFareRule;
     _repositoryRangeTime    = repositoryRangeTime;
     delayAction             = new DelayAction();
     chargerViewModel        = new ChargerViewModel();
     this.DataContext        = chargerViewModel;
     chargerViewModel.Remark = "正常缴费";
     _manualResetEvent       = manualResetEvent;
 }
コード例 #6
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_notification);

            ErrorManager.EnableExceptions(true);

            try
            {
                //create a new LedManager which is responsible for everything related to LED
                led = new LedManager();
            } catch (Exception e)
            {
                Log.Error(this.GetType().Name, "Error while creating LedManager");
            }

            //this button will cause the LED to blink a set number of times
            btnLed = (Button)FindViewById(Resource.Id.btnLed);
            //wire up our event handler for when the button is clicked
            btnLed.Click += BtnLedBlinkClicked;
            //this button will cause the LED to turn on or off
            btnLedEnable = (Button)FindViewById(Resource.Id.btnLedEnable);
            //wire up our event handler for when the button is clicked
            btnLedEnable.Click += BtnLedEnableClicked;
            //this method will initially turn the LED on.
            TurnOnGreenSpotLed();
        }
コード例 #7
0
ファイル: MainMenu.cs プロジェクト: RGKaizen/LEDController
        public MainMenu()
        {
            InitializeComponent();

            _ledClient      = new LedRestClient("192.168.1.200", "5000", 120);
            _ledManager     = new LedManager(120, 2);
            _paletteManager = new PaletteManager(2);
        }
コード例 #8
0
        private void colorEditorManager_ColorChanged(object sender, EventArgs e)
        {
            if (!active)
            {
                return;
            }

            colorPanel.BackColor = colorEditorManager.Color;
            colorPanel.Update();
            LedManager.setColor(colorEditorManager.Color);
        }
コード例 #9
0
ファイル: ChargerWindow.xaml.cs プロジェクト: lianying/Park
 public ChargerWindow(LedManager ledManager, CarOutModel carOutModel, FareRule fareRule, decimal receivable,
                      IRepository <CarTypes, long> repositoryCarTypes,
                      IParkBoxOptions parkBoxOptions,
                      IRepository <CarPort, long> repositoryCarPort,
                      IVehicleFlow vehicleFlow,
                      IDeviceable deviceable,
                      IRepository <FareRule> repositoryFareRule,
                      IRepository <RangeTime> repositoryRangeTime,
                      ManualResetEvent manualResetEvent) : this(ledManager, fareRule, repositoryCarTypes, parkBoxOptions, repositoryCarPort, vehicleFlow, deviceable, repositoryFareRule, repositoryRangeTime, manualResetEvent)
 {
     CarOutModel = carOutModel;
     SetUIModel(carOutModel, receivable);
 }
コード例 #10
0
        public KBWindow(LedManager ledmanager, Utility utility, OsdForm osd)
        {
            InitializeComponent();
            Application.Current.ShutdownMode = System.Windows.ShutdownMode.OnMainWindowClose;
            this._ledManager = ledmanager;
            this._utility    = utility;
            this._osd        = osd;
            this.colorPicker = new ColorBox();

            silentswitch = _utility.GetSilent();
            ClevoModel   = _utility.GetModel();

            SetInterface();
            RestoreLastSettings();
            SubscribeToEvents();
        }
コード例 #11
0
        private async Task <ChargerWindow> GetChargerWindow(LedManager ledManager, CarOutModel carOutModel, FareRule fareRule, decimal receivable,
                                                            IRepository <CarTypes, long> repositoryCarTypes,
                                                            IParkBoxOptions parkBoxOptions,
                                                            IRepository <CarPort, long> repositoryCarPort,
                                                            IVehicleFlow vehicleFlow,
                                                            IDeviceable deviceable,
                                                            IRepository <FareRule> repositoryFareRule,
                                                            IRepository <RangeTime> repositoryRangeTime,
                                                            ManualResetEvent manualResetEvent)
        {
            ChargerWindow chargerWindow = null;
            await Application.Current.Dispatcher.BeginInvoke((Action)(() =>
            {
                chargerWindow = new ChargerWindow(ledManager, carOutModel, fareRule, receivable, repositoryCarTypes, parkBoxOptions, repositoryCarPort, vehicleFlow, deviceable, repositoryFareRule, repositoryRangeTime, manualResetEvent);
            }));

            return(chargerWindow);
        }
コード例 #12
0
        public MainWindow(IParkBoxOptions parkBoxOptions, ICreatePnel createPnel,
                          IVehicleFlow vehicleFlow,
                          ICarNumberPermission carNumberPermission,
                          LedManager ledManager,
                          IRepository <CarTypes, long> repositoryCarType,
                          IRepository <FareRule> repositoryFareRule,
                          IRepository <RangeTime> repositoryRangeTime,
                          IRepository <BlackList, int> repositoryBlackList,
                          IRepository <CarPort, long> repositoryCarPort,
                          ParkMainControl parkMainControl)
        {
            InitializeComponent();
            DataContext          = this;
            this.parkBoxOptions  = parkBoxOptions;
            _createPnel          = createPnel;
            _vehicleFlow         = vehicleFlow;
            _carNumberPermission = carNumberPermission;
            _ledManager          = ledManager;
            var userCard = IocManager.Instance.Resolve <UserCard>();

            UserCard.Background = new SolidColorBrush(Colors.White);
            UserCard.Child      = userCard;

            _repositoryCarType   = repositoryCarType;
            _repositoryFareRule  = repositoryFareRule;
            _repositoryRangeTime = repositoryRangeTime;
            _repositoryBlackList = repositoryBlackList;
            _repositoryCarPort   = repositoryCarPort;
            _parkMainControl     = parkMainControl;

            IocManager.Instance.IocContainer.Register(
                Component.For <IManualEntryAndExit>().UsingFactoryMethod(() => this));
            //IocManager.Instance.IocContainer.Register(Component.For<TaskScheduler>().Instance(TaskScheduler.FromCurrentSynchronizationContext()).LifestyleSingleton());
            IocManager.Instance.IocContainer.Register(Component.For <SynchronizationContext>().Instance(base.SynchronizationContext).LifestyleSingleton());


            Title         = parkBoxOptions.ParkName;
            parkEntrances = _createPnel.CreatePnels(this.ContentCamera);
            parkBoxOptions.SetInfosDic = parkEntrances;
#if Release
            this.TopMost = true;
#endif
        }
コード例 #13
0
        private void AnimationOptions_SelectedIndexChanged(object sender, EventArgs e)
        {
            var ledManager     = new LedManager(120, 2);
            var paletteManager = new PaletteManager(2);

            switch (((ComboBox)sender).SelectedValue)
            {
            case "Fill":
                _AnimatorClient.UpdateFillAnimation(new FillAnimation(ledManager, paletteManager));
                break;

            case "Loop":
                _AnimatorClient.UpdateFillAnimation(new LooperAnimator(ledManager, paletteManager));
                break;

            case "Push":
                _AnimatorClient.UpdateFillAnimation(new PushAnimator(ledManager, paletteManager));
                break;
            }
        }
コード例 #14
0
 public override void _activate()
 {
     LedManager.setColor(colorEditorManager.Color);
 }