public DocumentEquipmentsViewModel(Document document) { CompositionInitializer.SatisfyImports(this); mDocument = document; CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); cmsWebServiceClient.GetDocumentEquipmentsCompleted += (s1, e1) => { mDocument.ModifiedObjects.EquipmentsModified = true; //mark as modified if opened. cmsWebServiceClient.GetEquipmentTypesCompleted += (sender2, e2) => { mEquipmentTypes = e2.Result; DatabaseLoader.GetBuildEquipmentModelList(mEquipmentTypes, e1.Result).ContinueWith(getBuildEquipmentModelListTask => { CMS.UiFactory.StartNew(() => { ModelEquipments = new ObservableCollection<CommonDocumentEquipmentModel>(getBuildEquipmentModelListTask.Result); RaisePropertyChanged("ModelEquipments"); mDocument.DocumentEquipments = DocumentEquipments; TryFireLoadedEvent(); }); }); }; cmsWebServiceClient.GetEquipmentTypesAsync(); }; cmsWebServiceClient.GetDocumentEquipmentsAsync(document.Id); LinkCommand = new DelegateCommand<object>(LinkButtonHandler, CanLinkHandler); DeleteCommand = new DelegateCommand<object>(DeleteButtonHandler, CanDelete); OpenEquipmentCommand = new DelegateCommand<object>(OpenEquipmentHandler, CanOpenEquipment); }
private void LoadDisciplines() { CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); cmsWebServiceClient.GetEquipmentTypesCompleted += (sender, e) => { if (e != null && e.Result.Count > 0) { EquipmentType all = new EquipmentType {Name = ALL, Code = ALL}; e.Result.Insert(0, all); Disciplines = new ObservableCollection<EquipmentType>(e.Result); SelectedDiscipline = all; RaisePropertyChanged("Disciplines"); RaisePropertyChanged("SelectedDiscipline"); //now safe to load other cached data... SetEquipmentsCache(); } }; cmsWebServiceClient.GetEquipmentTypesAsync(); }