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.








