Tuesday 30 November 2021

DYNAMICS 365 – CREATE, RETRIEVE, UPDATE, DELETE CONSOLE APP

 

DYNAMICS 365 – CREATE, RETRIEVE, UPDATE, DELETE CONSOLE APP


In this post, we will create a console app that performs a CRUD operation on Dynamics 365.

In Visual Studio, create a new Console App:

You will see:

Add Microsoft.CrmSdk.Xrm.Tooling.CoreAssembly using NuGet:

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
using Microsoft.Xrm.Tooling.Connector;
using Microsoft.Xrm.Sdk;
using Microsoft.Crm.Sdk.Messages;
using Microsoft.Xrm.Sdk.Query;
 
namespace Carl.Dynamics365CRUD
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                var connectionString = @"AuthType = Office365; Url = https://yourorg.crm.dynamics.com/;Username=youremail;Password=yourpwd";
                CrmServiceClient conn = new CrmServiceClient(connectionString);
 
                IOrganizationService service;
                service = (IOrganizationService)conn.OrganizationWebProxyClient != null ? (IOrganizationService)conn.OrganizationWebProxyClient : (IOrganizationService)conn.OrganizationServiceProxy;
 
                // Create a new record
                Entity contact = new Entity("contact");
                contact["firstname"] = "Bob";
                contact["lastname"] = "Smith";
                Guid contactId = service.Create(contact);
                Console.WriteLine("New contact id: {0}.", contactId.ToString());
 
                // Retrieve a record using Id
                Entity retrievedContact = service.Retrieve(contact.LogicalName, contactId, new ColumnSet(true));
                Console.WriteLine("Record retrieved {0}", retrievedContact.Id.ToString());
 
                // Update record using Id, retrieve all attributes
                Entity updatedContact = new Entity("contact");
                updatedContact = service.Retrieve(contact.LogicalName, contactId, new ColumnSet(true));
                updatedContact["jobtitle"] = "CEO";
                updatedContact["emailaddress1"] = "test@test.com";
                service.Update(updatedContact);
                Console.WriteLine("Updated contact");
 
                // Retrieve specific fields using ColumnSet
                ColumnSet attributes = new ColumnSet(new string[] { "jobtitle", "emailaddress1" });
                retrievedContact = service.Retrieve(contact.LogicalName, contactId, attributes);
                foreach (var a in retrievedContact.Attributes)
                {
                    Console.WriteLine("Retrieved contact field {0} - {1}", a.Key, a.Value);
                }
 
                // Delete a record using Id
                service.Delete(contact.LogicalName, contactId);
                Console.WriteLine("Deleted");
                Console.ReadLine();
 
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.ReadLine();
            }
        }
    }
}

Git Basic working

  Develop = dev   r