Solved

CRM 3.o SDK and creating a Contact object.

Posted on 2006-11-14
2
989 Views
Last Modified: 2013-11-24
Hi,

I have written this piece of code using C# and Visual Studio 2005.

I want to be able to create a contact object  for every Account object that I create for Microsoft CRM 3.0


My C# code is listed below.

With this code, CRM web Service will throw an Exception.
if I were to comment out these two lines from the code.

            objContact.parentcustomerid = new Customer();
            objContact.parentcustomerid.Value = new Guid(custID);

the code will execute without throwing any exceptions, but then the contact which gets created does not have its Parent Account set. What I want to do is have a Contact object created for every Account I create.

How do I correct these two lines of code so that no exceptions are thown and Contacts gets it Parent Account assigned.
 




            CrmService service = new CrmService();
            service.Credentials = System.Net.CredentialCache.DefaultCredentials;
            service.Timeout = 3000 * 10000;
            service.PreAuthenticate = false;

            // Create the account object.
            contact objContact = new contact();

            // Set the properties of the account object.
            objContact.firstname = fname;
            objContact.lastname = lname;
            objContact.emailaddress1 = eaddress;

            // Assign Parent CustomerId for contact.
            objContact.parentcustomerid = new Customer();
            objContact.parentcustomerid.Value = new Guid(custID);

            String ListId = getContactID(fname, lname);

            if ((ListId.CompareTo("empty")) != 0)
            {
                // contact already exist
                return;
            }
            else
            {
                // does not exist. So will add a new contact object
            }
           

            // Create the target object for the request.
            TargetCreateContact target = new TargetCreateContact();

            // Set the properties of the target object.
            target.Contact = objContact;

            // Create the request object.
            CreateRequest create = new CreateRequest();

            // Set the properties of the request object.
            create.Target = target;

            // Execute the request.
            CreateResponse created = (CreateResponse)service.Execute(create);


0
Comment
Question by:nitadmin
2 Comments
 
LVL 25

Accepted Solution

by:
dstanley9 earned 500 total points
ID: 17948867
You need to set the entity type as well as the ID.

try this:

            objContact.parentcustomerid = new Customer();
            objContact.parentcustomerid.type = new EntityName.account.ToString();
            objContact.parentcustomerid.Value = new Guid(custID);
0
 
LVL 8

Author Comment

by:nitadmin
ID: 17949036
This is what I was missing.

 objContact.parentcustomerid.type = new EntityName.account.ToString();

thanks.
0

Featured Post

Space-Age Communications Transitions to DevOps

ViaSat, a global provider of satellite and wireless communications, securely connects businesses, governments, and organizations to the Internet. Learn how ViaSat’s Network Solutions Engineer, drove the transition from a traditional network support to a DevOps-centric model.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Salesforce.com is a cloud-based customer relationship management (CRM) system. In this article, you will learn how to add and map custom lead and contact fields to your Salesforce instance.
"Disruption" is the most feared word for C-level executives these days. They agonize over their industry being disturbed by another player - most likely by startups.
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

735 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question