I can't quite wrap my head around how IOM deals with importing into a non-constituent record and I am hoping that you can shed some light on it!
When I select to match to a non-con spouse record IOM will update bio/address/phone info on the non-con record, but will add gifts/actions/etc. to the primary record. This is good and expected!
What I don't get is in the API, when I am working in AfterConstituentOpen, the oRec is linked to the primary record and not the matched spouse record. So when I do things like move around email addresses or check bio information I am doing it on the primary record and not the record that is eventually going to get updated by IOM. Before we get to BeforeConstituentSave, IOM already asks me about changing Bio information the non-con record but in BeforeConstituentSave the oRec is again the primary record. Somewhere in between the two IOM changes which record it is pointing at!
How do I access the non-con record that IOM is actually working with? It seems like the profile sometimes treats the "constituent" as the primary record and sometimes the non-con matched record but in the API the oRec is always the primary record even if the non-con record is selected.
I want to code something like "If the working constituent is a non-con record then check if the email address exists on the primary record" and vice versa.
I also want my custom email type moving code to move the emails on the record matched, not just the primary record.