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; }
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 = "无在场记录,请匹配场内车辆"; }
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; }
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); }
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); }
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 }