How to: Provision Contacts
The following example shows how to provision an object for a Lotus Notes connected data source for a contact.
Note
In Lotus Notes, you can provision contacts for the primary or secondary address book. Contacts are created with the Lotus Notes _MMS_IDRegType property set to 0. Users, created with the _MMS_IDRegType property set to 1 or 2, cannot be provisioned for the secondary address book. Because Groups are not created as objects, you can provision them to the primary or secondary address book.
Public Sub Provision(ByVal mventry As MVEntry) _
Implements IMVSynchronization.Provision
Dim ManagementAgent As ConnectedMA
Dim Connectors As Integer
Dim csentry As CSEntry
Dim DNName As String
If mventry("EmployeeStatus").IsPresent _
AndAlso mventry("EmployeeStatus").Value.Equals("active") Then
ManagementAgent = mventry.ConnectedMAs("Lotus Notes MA")
Connectors = ManagementAgent.Connectors.Count
If 0 = Connectors Then
csentry = ManagementAgent.Connectors.StartNewConnector("person")
DNName = mventry("sn").Value
If mventry("middleName").IsPresent Then
DNName = mventry("middleName").Value + " " + DNName
End If
If mventry("givenName").IsPresent Then
DNName = mventry("givenName").Value + " " + DNName
End If
' Set the property values to provision the object.
csentry.DN = ManagementAgent.EscapeDNComponent(DNName).Concat("NAB=names.nsf")
csentry("_MMS_IDRegType").IntegerValue = 0 ' Contact
' Finish creating the new connector.
csentry.CommitNewConnector()
End If
End If
End Sub
void IMVSynchronization.Provision (MVEntry mventry)
{
ConnectedMA ManagementAgent;
int Connectors;
CSEntry csentry;
string DNName;
if(mventry["EmployeeStatus"].IsPresent)
{
if(mventry["EmployeeStatus"].Value.Equals("active"))
{
ManagementAgent = mventry.ConnectedMAs["Lotus Notes MA"];
Connectors = ManagementAgent.Connectors.Count;
if(0 == Connectors)
{
csentry = ManagementAgent.Connectors.StartNewConnector("person");
DNName = mventry["sn"].Value;
if(mventry["middleName"].IsPresent)
{
DNName = mventry["middleName"].Value + " " + DNName;
}
if(mventry["givenName"].IsPresent)
{
DNName = mventry["givenName"].Value + " " + DNName;
}
// Set the property values to provision the object.
csentry.DN = ManagementAgent.EscapeDNComponent(DNName).Concat("NAB=names.nsf");
csentry["LastName"].Value = mventry["sn"].Value;
csentry["_MMS_IDRegType"].IntegerValue = 0; // Contact
// Finish creating the new connector.
csentry.CommitNewConnector();
}
}
}
}
See Also
Concepts
Lotus Notes Connected Data Sources