Posts

Showing posts from 2017

How to import CSV files into DataTable in C#

Below is code the which you can use for converting a csv file into Data Table in C#. This method also handles comma values inside a double quoted value. 1. Provide the file path of your csv file: string sCsvFilePath = @"C:\Downloads\Sample.csv"; 2. Call Custom Method: DataTable  dtTable = ConvertCSVtoDataTable(sFilePath); 3. Copy and Paste below: public   static   DataTable  ConvertCSVtoDataTable( string  sCsvFilePath) {      DataTable  dtTable =  new   DataTable ();      Regex  CSVParser =  new   Regex ( ",(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))" );      using  ( StreamReader  sr =  new   StreamReader (sCsvFilePath))     {          string [] headers = sr.ReadLine().Split( ',' );          foreach  ( string  header  in  headers)         {             dtTable.Columns.Add(header);         }          while  (!sr.EndOfStream)         {              string [] rows = CSVParser.Split(sr.ReadLine());              DataRow  

How to bind Dynamics CRM data to dropdown using JavaScript/ HTML?

Image
In this blog, I 'll show how we can create a dropdown and bind it with value from Entity record values e.g we need to show all On-Demand process inside an entity as a dropdown list. So for this I have used 2 methods: ODATA and WebAPI call.. For Users using older version of CRM can use ODATA method. In this below example I am binding all system view in the dropdown inside an HTML web resource. Copy and paste code as below: 1. ODATA Method: <head>     <script type="text/javascript" src="/_common/ClientGlobalContext.js.aspx"></script> </head> <body style="overflow-wrap: break-word; height: 24px; word-wrap: break-word;">     <select id="viewdropdown" onchange="GetSelectedviewValue(this)" style="height:24px; width:495px; margin-left:16px">         <option selected="" value="Loading...">Loading...</option>     </select>     <script>

How to Write a Plugin when a Case is resolved with use Email Template in C#

In this blog, I am going to explain how we can fire a plugin on Resolved Case. Additionally I have added methods which shows how we can use Email Template too. Follwing points is important when working on resolved case plugin: 1. To fire a plugin when an incident is resolved we need to register the plugin in "Close" message for the incident entity. 2. In Input parameters of the context we need to check for IncidentResolution (this entity holds information of case being closed). Put below codes inside your Plugin, In my sample code I am creating an email activity after case gets resolved.         public class IncidentPostCloseHandler : IPlugin         {             public void Execute(IServiceProvider serviceProvider)             {                 try                 {                     IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));                     IOrganizationServiceFactory servi

Validate Input Phone Number in Microsoft Dynamics CRM using JavaScript

Sometime we get requirement to validate a phone number like to check only numeric value allowed with all round bracket and '+' sign etc in the number. So below is a basic JavaScript fucntion which validates a phone number like: (022)6655-7878 or +91-7878787878 or +44-6756-6767-4234 and so on function CheckPhoneNoFormat(context) {     var oField = context.getEventSource().getValue();     if (typeof (oField) != "undefined" && oField != null) {         try {             var telnum = oField;             // Convert into a string and check that we were provided with something             var telnum = telnum + " ";             if (telnum.length == 1) {                 telNumberErrorNo = 1;                 return false             }             telnum.length = telnum.length - 1;             // Remove spaces from the telephone number to help validation             while (telnum.indexOf(" ") != -1) {                 telnum = telnum

How to get the entity schema name list registered in your Dynamics CRM Organization using C#.

Use the following code for fetching entity list names in your console application:   public static EntityMetadata[] GetEntities(IOrganizationService organizationService)         {             Dictionary attributesData = new Dictionary ();             RetrieveAllEntitiesRequest metaDataRequest = new RetrieveAllEntitiesRequest();             RetrieveAllEntitiesResponse metaDataResponse = new RetrieveAllEntitiesResponse();             metaDataRequest.EntityFilters = EntityFilters.Entity;             // Execute the request.             metaDataResponse = (RetrieveAllEntitiesResponse)organizationService.Execute(metaDataRequest);             var entities = metaDataResponse.EntityMetadata;             return entities;         }         public static void PrintEntitySchemaNames()         {             OrganizationServiceProxy _orgservice = CreateCrmServiceObjectOnline();             Console.WriteLine("===================================");             #regio

How to update related entity records in Dynamics CRM using javascript

In this blog, I am going to show how we can update a related entity record through JScript in DYnamics CRM either REST or OData way. First of all I'll show update data using REST Query in Method 1 and then using OData query in method 2. function btnUpdateOnClick() {     try {         var selectedRows = Xrm.Page.getControl("SubGridName").getGrid().getSelectedRows();         selectedRows.forEach(function (selectedRow, i) {             var s = selectedRow.getData().getEntity().getEntityReference();             var selectedRowGuid = s.id;             var selectedRowName = s.name;             var selectedRowEntityName = s.entityType;             UpdateAccount(selectedRowGuid, selectedRowName, selectedRowEntityName);         });     }     catch (e) {         ShowCatchMessage("new_accountservice_ribbonscript.js", "btnUpdateInventoryOnClick", "A1", e.message);     } } Method 1: function UpdateAccount(selectedRowGuid, select

Expand and Collapse feature in PowerApps

Write the following on APP Start Code: Clear(colTreeElement);    ForAll(    TreeViewElement,    Collect(      colTreeElement,      {        ElmntName: Switch(          'Element Name',          "India",          Concatenate(            "India",            "                                     ",            "Score:4"          ),          "United States",          Concatenate(            "United States",            "                             ",            "Score:8"          ),          'Element Name'        ),        ElmntId: 'Element Id',        Lv: Level,        ParentId: 'Parent ID',        //Add column 'Show' to control Expand/ Collapse        Show: If(          Value(Level) = 1,          true,//only the element with spElmntLv = 1 is displayed in the initial state          false        ),        TreePath: ""//Tre
go to top image