protected void OnButtonDriverSelectAutoClicked(object sender, EventArgs e) { var driver = ytreeviewOnDayDrivers.GetSelectedObjects <AtWorkDriver>().FirstOrDefault(); if (driver == null) { ViewModel.CommonServices.InteractiveService.ShowMessage(ImportanceLevel.Warning, "Не выбран водитель!"); return; } var filter = new CarJournalFilterViewModel(ViewModel.CarModelJournalFactory); filter.SetAndRefilterAtOnce( x => x.Archive = false, x => x.RestrictedCarOwnTypes = new List <CarOwnType> { CarOwnType.Company } ); var journal = new CarJournalViewModel(filter, UnitOfWorkFactory.GetDefaultFactory, ViewModel.CommonServices); journal.SelectionMode = JournalSelectionMode.Single; journal.OnEntitySelectedResult += (o, args) => { var car = ViewModel.UoW.GetById <Car>(args.SelectedNodes.First().Id); ViewModel.SelectCarForDriver(driver, car); }; ViewModel.TabParent.AddSlaveTab(ViewModel, journal); }
public IEntityAutocompleteSelectorFactory CreateCarAutocompleteSelectorFactory(bool multipleSelect = false) { return(new EntityAutocompleteSelectorFactory <CarJournalViewModel>(typeof(Car), () => { var filter = new CarJournalFilterViewModel(new CarModelJournalFactory()); var journalViewModel = new CarJournalViewModel(filter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices); journalViewModel.NavigationManager = _navigationManager; journalViewModel.SelectionMode = multipleSelect ? JournalSelectionMode.Multiple : JournalSelectionMode.Single; return journalViewModel; })); }