Freigeben über


Example: Contact

The following example shows how to provision an object for a Lotus Notes connected data source for a contact:

Note  In Lotus Notes, contacts can be provisioned 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. Since Groups are not created as objects they can be provisioned 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

Lotus Notes Connected Data Sources
Lotus Notes Properties

Send comments about this topic to Microsoft

Build date: 2/16/2009