private void AddButtonHandler(object parameter) { AddRelatedDocumentDialog dialog = new AddRelatedDocumentDialog(); dialog.Show(); dialog.Closed += (s1, e1) => { if (dialog.DialogResult.HasValue && dialog.DialogResult.Value) { List<int> docIds = (dialog.SelectedDocuments.Select(x => x.Id)).ToList(); CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); cmsWebServiceClient.GetDocumentsByIdsCompleted += (s2, e2) => { List<Document> toAdd = e2.Result; List<DocumentEquipment> list = mElectricalEquipment.ElectricalDocuments; if (e2.Result != null && e2.Result.Count > 0) { foreach (Document document in toAdd) { DocumentEquipment existing = (from x in mElectricalEquipment.ElectricalDocuments where x.DocumentId == document.Id && x.EquipmentId == mElectricalEquipment.Id && x.EquipmentTypeId == (int)CommonUtils.EquipmentTypeCode.ELECT select x).FirstOrDefault(); if (existing == null) { DocumentEquipment newdoc = new DocumentEquipment(); newdoc.DocumentId = document.Id; newdoc.Document = document; newdoc.EquipmentId = mElectricalEquipment.Id; newdoc.EquipmentTypeId = (int) CommonUtils.EquipmentTypeCode.ELECT; list.Add(newdoc); } } } Documents = new ObservableCollection<DocumentEquipment>(list); RaiseChangeEvent(); }; cmsWebServiceClient.GetDocumentsByIdsAsync(docIds); } }; }
private void OkButtonHander(object parameter) { if (CanExecuteOkButtonHandler(parameter)) { List<QuickDocument> selected = (from x in Documents where x.Checked select x).ToList(); List<int> ids = (from x in selected select x.Id).ToList(); CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); cmsWebServiceClient.GetDocumentsByIdsCompleted += (s1, e1) => { View.SelectedDocuments = e1.Result; View.DialogResult = true; }; cmsWebServiceClient.GetDocumentsByIdsAsync(ids); } }