//private void GetRelationship(int ID) //{ //} private void btnSaveAndSelect_Click(object sender, RoutedEventArgs e) { //در صورت ایجاد اولیه باید چک شود که طرف اول پرایمری کی باشد if (txtName.Text == "") { MessageBox.Show("نام رابطه"); return; } if (cmbFirstEntity.SelectedItem == null) { MessageBox.Show("موجودیت سمت اول"); return; } if (cmbSecondEntity.SelectedItem == null) { MessageBox.Show("موجودیت سمت دوم"); return; } if (Message.RelationshipColumns.Count == 0) { MessageBox.Show("ستونها"); return; } string linkedServerMessage = ""; BizDatabase bizDatabase = new BizDatabase(); var firstEntity = bizTableDrivedEntity.GetTableDrivedEntity(MyProjectManager.GetMyProjectManager.GetRequester(), (int)cmbFirstEntity.SelectedValue, EntityColumnInfoType.WithSimpleColumns, EntityRelationshipInfoType.WithoutRelationships); var secondEntity = bizTableDrivedEntity.GetTableDrivedEntity(MyProjectManager.GetMyProjectManager.GetRequester(), (int)cmbSecondEntity.SelectedValue, EntityColumnInfoType.WithSimpleColumns, EntityRelationshipInfoType.WithoutRelationships); if (firstEntity.ServerID != secondEntity.ServerID) { if (!bizDatabase.LinkedServerExists(firstEntity.ServerID, secondEntity.ServerID)) { linkedServerMessage += (linkedServerMessage == "" ? "" : Environment.NewLine) + "لینک سرور از طرف موجودیت" + " '" + firstEntity.Alias + "' " + "به موجودیت" + " '" + secondEntity.Alias + "' " + "تعریف نشده است"; } if (!bizDatabase.LinkedServerExists(secondEntity.ServerID, firstEntity.ServerID)) { linkedServerMessage += (linkedServerMessage == "" ? "" : Environment.NewLine) + "لینک سرور از طرف موجودیت" + " '" + secondEntity.Alias + "' " + "به موجودیت" + " '" + firstEntity.Alias + "' " + "تعریف نشده است"; } } if (!string.IsNullOrEmpty(linkedServerMessage)) { var message = linkedServerMessage; message += Environment.NewLine + "به منظور استفاده از این رابطه در نمایش و جستجوی داده ها و عدم بروز خطا لینک سرورها تعریف شوند"; MessageBox.Show(message); // return; } if (!firstEntity.IsView && !secondEntity.IsView) { foreach (var relCol in Message.RelationshipColumns) { var firstSideColumn = firstEntity.Columns.First(x => x.ID == relCol.FirstSideColumnID); if (!firstSideColumn.PrimaryKey) { MessageBox.Show("ستون" + " " + firstSideColumn.Name + " " + "کلید اصلی نمی باشد"); return; } } } Message.Name = txtName.Text; Message.EntityID1 = (int)cmbFirstEntity.SelectedValue; Message.EntityID2 = (int)cmbSecondEntity.SelectedValue; Message.CreateType = (CreateRelationshipType)cmbRelationshipType.SelectedItem; var id = bizRelationship.CreateUpdateRelationship(MyProjectManager.GetMyProjectManager.GetRequester(), Message, chkSecondSideDataEntry.IsChecked == true); MessageBox.Show("اطلاعات ثبت شد"); GetRelationship(id); }