public override bool Accept() { try { fEvent.Place.StringValue = fView.Place.Text; fEvent.Place.Location.Value = fTempLocation; fEvent.Classification = fView.EventName.Text; fEvent.Cause = fView.Cause.Text; fEvent.Agency = fView.Agency.Text; GDMCustomDate dt = AssembleDate(); if (dt == null) { throw new ArgumentNullException("dt"); } fEvent.Date.ParseString(dt.StringValue); int eventType = fView.EventType.SelectedIndex; if (fEvent is GDMFamilyEvent) { fEvent.SetName(GKData.FamilyEvents[eventType].Sign); } else { GKData.EventStruct eventProps = GKData.PersonEvents[eventType]; fEvent.SetName(eventProps.Sign); if (eventProps.Kind == PersonEventKind.ekFact) { fEvent.StringValue = fView.Attribute.Text; } else { fEvent.StringValue = ""; } } if (fEvent is GDMIndividualEvent) { if (GKData.PersonEvents[eventType].Kind == PersonEventKind.ekFact) { GDMIndividualAttribute attr = new GDMIndividualAttribute(fEvent.Owner); attr.Assign(fEvent); fEvent = attr; } } CommitChanges(); return(true); } catch (Exception ex) { Logger.WriteError("EventEditController.Accept()", ex); return(false); } }
public void Test_CollectEventValues() { Assert.IsNotNull(fContext.ValuesCollection); fContext.CollectEventValues(null); Assert.AreEqual(0, fContext.ValuesCollection.Count); GDMIndividualRecord iRec = fContext.Tree.XRefIndex_Find("I1") as GDMIndividualRecord; var evt = new GDMIndividualAttribute(iRec, (int)GEDCOMTagType._AWARD, "Congressional Gold Medal"); fContext.CollectEventValues(evt); Assert.AreEqual(1, fContext.ValuesCollection.Count); }