コード例 #1
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 = "无在场记录,请匹配场内车辆";
        }
コード例 #2
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;
 }
コード例 #3
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);
 }
コード例 #4
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);
        }