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);
                    }
                };
        }
Exemplo n.º 2
0
        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);
            }
        }