private void ModifyReposSheet(object sender, ModifyEventArgs eArgs) { GDMRepositoryCitation cit = eArgs.ItemData as GDMRepositoryCitation; if (eArgs.Action == RecordAction.raJump && cit != null) { fController.JumpToRecord(cit); } }
public override void Modify(object sender, ModifyEventArgs eArgs) { var source = fDataOwner as GDMSourceRecord; if (fBaseWin == null || fSheetList == null || source == null) { return; } GDMRepositoryCitation cit = eArgs.ItemData as GDMRepositoryCitation; bool result = false; switch (eArgs.Action) { case RecordAction.raAdd: GDMRepositoryRecord rep = fBaseWin.Context.SelectRecord(GDMRecordType.rtRepository, null) as GDMRepositoryRecord; if (rep != null) { result = fUndoman.DoOrdinaryOperation(OperationType.otSourceRepositoryCitationAdd, source, rep); } break; case RecordAction.raDelete: if (cit != null && AppHost.StdDialogs.ShowQuestionYN(LangMan.LS(LSID.LSID_DetachRepositoryQuery))) { var repRec = fBaseContext.Tree.GetPtrValue <GDMRepositoryRecord>(cit); result = fUndoman.DoOrdinaryOperation(OperationType.otSourceRepositoryCitationRemove, source, repRec); } break; } if (result) { fBaseWin.Context.Modified = true; eArgs.IsChanged = true; } }
public static GDMRepositoryRecord GetPtrValue(this GDMTree tree, GDMRepositoryCitation ptr) { return(tree.GetPtrValue <GDMRepositoryRecord>(ptr)); }