public void SetUp() { WFAppHost.ConfigureBootstrap(false); fBase = new BaseWindowStub(); fAssociation = new GDMAssociation(null); }
private void ModifyAssociationsSheet(object sender, ModifyEventArgs eArgs) { GDMAssociation ast = eArgs.ItemData as GDMAssociation; if (eArgs.Action == RecordAction.raJump && ast != null) { fController.JumpToRecord(ast); } }
public override void Modify(object sender, ModifyEventArgs eArgs) { var person = fDataOwner as GDMIndividualRecord; if (fBaseWin == null || fSheetList == null || person == null) { return; } bool result = false; GDMAssociation ast = eArgs.ItemData as GDMAssociation; switch (eArgs.Action) { case RecordAction.raAdd: case RecordAction.raEdit: using (var dlg = AppHost.ResolveDialog <IAssociationEditDlg>(fBaseWin)) { bool exists = (ast != null); if (!exists) { ast = new GDMAssociation(person); } dlg.Association = ast; result = AppHost.Instance.ShowModalX(dlg, false); if (!exists) { if (result) { result = fUndoman.DoOrdinaryOperation(OperationType.otIndividualAssociationAdd, person, ast); } else { ast.Dispose(); } } } break; case RecordAction.raDelete: if (AppHost.StdDialogs.ShowQuestionYN(LangMan.LS(LSID.LSID_RemoveAssociationQuery))) { result = fUndoman.DoOrdinaryOperation(OperationType.otIndividualAssociationRemove, person, ast); } break; } if (result) { fBaseWin.Context.Modified = true; eArgs.IsChanged = true; } }
public override void Setup() { base.Setup(); fBase = new BaseWindowStub(); fAssociation = new GDMAssociation(null); fDialog = new AssociationEditDlg(fBase); fDialog.Association = fAssociation; fDialog.Show(); }
public override void Setup() { TestUtils.InitGEDCOMProviderTest(); WFAppHost.ConfigureBootstrap(false); fBase = new BaseWindowStub(); fAssociation = new GDMAssociation(); fDialog = new AssociationEditDlg(fBase); fDialog.Association = fAssociation; fDialog.Show(); }
public object gt_get_person_association(object recPtr, int idx) { GDMIndividualRecord iRec = recPtr as GDMIndividualRecord; if (iRec == null) { return(null); } GDMAssociation asso = iRec.Associations[idx]; return(asso); }
public void Test_AssociationEditDlgController() { var view = Substitute.For <IAssociationEditDlg>(); Assert.IsNull(view.Association); Assert.IsNotNull(view.Person); Assert.IsNotNull(view.Relation); var baseContext = Substitute.For <IBaseContext>(); baseContext.Tree.Returns(new GDMTree()); var baseWin = Substitute.For <IBaseWindow>(); baseWin.Context.Returns(baseContext); var tree = baseContext.Tree; var association = new GDMAssociation(); // for xref pointers to work var controller = new AssociationEditDlgController(view); Assert.IsNotNull(controller); controller.Init(baseWin); Assert.AreEqual(baseWin, controller.Base); controller.Association = association; Assert.AreEqual(association, controller.Association); // the association is empty controller.UpdateView(); // the relation is empty, an exception will be thrown, accept will be false Assert.IsFalse(controller.Accept()); var relValue = "test relation"; var relPerson = tree.CreateIndividual(); // substitutes of values view.Relation.Text.Returns(relValue); baseWin.Context.SelectPerson(null, TargetMode.tmNone, GDMSex.svUnknown).Returns(relPerson); controller.SetPerson(); Assert.IsTrue(controller.Accept()); Assert.AreEqual(relValue, association.Relation); Assert.AreEqual(relPerson, tree.GetPtrValue(association)); }
public object gt_add_person_association(object recPtr, string rel, object assoPtr) { GDMIndividualRecord iRec = recPtr as GDMIndividualRecord; if (iRec == null) { return(null); } GDMIndividualRecord assoRec = assoPtr as GDMIndividualRecord; if (assoRec == null) { return(null); } GDMAssociation asso = iRec.AddAssociation(rel, assoRec); return(asso); }
private bool ProcessIndividualAssociation(bool redo) { GDMIndividualRecord iRec = fObj as GDMIndividualRecord; GDMAssociation asso = fNewVal as GDMAssociation; if (iRec == null || asso == null) { return(false); } if (fType == OperationType.otIndividualAssociationRemove) { redo = !redo; } if (redo) { iRec.Associations.Add(asso); } else { iRec.Associations.Extract(asso); } return(true); }
public static GDMIndividualRecord GetPtrValue(this GDMTree tree, GDMAssociation ptr) { return(tree.GetPtrValue <GDMIndividualRecord>(ptr)); }