Bhubaneswar, Odisha, India
+91-8328865778
support@softchief.com

Sample Plugin Code in Dynamics 365 or Power Apps Dataverse

Sample Plugin Code in Dynamics 365 or Power Apps Dataverse

Here is a simple code of plugin for your reuse. modify the code for your business need.

using Microsoft.Xrm.Sdk;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MetroBankProject
{
    public class GenerateEMI : IPlugin
    {
        public void Execute(IServiceProvider serviceProvider)
        {
            // Obtain the execution context from the service provider.  
            IPluginExecutionContext context = (IPluginExecutionContext)
                serviceProvider.GetService(typeof(IPluginExecutionContext));

            // Obtain the organization service reference which you will need for  
            // web service calls.  
            IOrganizationServiceFactory serviceFactory =
                (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
            IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);

            // The InputParameters collection contains all the data passed in the message request.  
            if (context.InputParameters.Contains("Target") &&
                context.InputParameters["Target"] is Entity)
            {
                Entity entity = (Entity)context.InputParameters["Target"];

                if (entity.LogicalName.ToLower() == "hdfc_investment")
                {
                    var term = entity.Attributes["hdfc_totalterminmonths"];
                    var amount = ((Money)entity.Attributes["hdfc_amount"]).Value;

                    for (int i = 0; i < Convert.ToInt32(term); i++)
                    {
                        // create EMI Info
                        Entity entEMI = new Entity();
                        entEMI.LogicalName = "hdfc_emiinfo";
                        entEMI["hdfc_name"] = "Installmnt-" +(i+1);
                        entEMI["hdfc_parentinvestment"] = new EntityReference(entity.LogicalName, entity.Id);
                        entEMI["hdfc_emiamount"] = new Money(amount/Convert.ToInt32(term));
                        entEMI["hdfc_emiduedate"] = DateTime.Now.AddMonths(i);
                        service.Create(entEMI);

                    }

                }
            }
        }
    }
}

Hope this helps.