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;
     }));
 }