public DocumentEquipmentPickerViewModel(DocumentEquipmentPicker view)
        {
            View = view;
            view.DataContext = this;
            View.KeywordTextBox.TextChanged += (sender3, e3) => { ProcessSearchFilter(); };

            LoadDisciplines();
            GetBaseEquipmentTypes();
            SetBaseEquipmentComponentTypesCache();
            SetManufacturersCache();
            SetModelsCache();
            //SetUpperEquipmentsCache();

            OkButtonCommand = new DelegateCommand<object>(OkButtonHander, CanExecuteOkButtonHandler);
            CancelButtonCommand = new DelegateCommand<object>(CancelButtonHander);
        }
        private void LinkButtonHandler(object parameter)
        {
            DocumentEquipmentPicker picker = new DocumentEquipmentPicker();

            picker.Closed += (s1, e1) =>
                                 {
                                     //Handle dialog closed
                                     if (picker.DialogResult.HasValue && picker.DialogResult.Value)
                                     {
                                         foreach (CommonDocumentEquipmentModel model in picker.SelectedEquipments)
                                         {
                                             CommonDocumentEquipmentModel search = (from x in ModelEquipments
                                                                                    where x.EquipmentId == model.EquipmentId
                                                                                          && x.EquipmentType.Id == model.EquipmentType.Id
                                                                                    select x).FirstOrDefault();
                                             if (search == null)
                                             {
                                                 model.Checked = false;
                                                 ModelEquipments.Add(model);
                                             }
                                         }

                                         mDocument.DocumentEquipments = DocumentEquipments;

                                         ModelEquipments = new ObservableCollection<CommonDocumentEquipmentModel>(ModelEquipments.OrderBy(x => x.Name));
                                         RaisePropertyChanged("ModelEquipments");
                                         OnCollectionChanged();
                                         Utils.OnCollectionChanged(EventAggregator, mDocument, "DocumentEquipmentsViewModel", true);
                                     }
                                 };

            picker.Show();
        }