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.