Custom Workflow (Real Time Workflow) with Input and OutPut Parameters in D365
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Workflow;
using System;
using System.Activities;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CustomWorkflowAgeCalByDOB
{
//DOB Calculate by
using custom workflow (Real Time Workflow) with Input and OutPut Parameters
/// <summary>
/// Register a Workflow on
Contact Entity on Create or Update(DOB filed) Event
/// Create fields DOB DateTime
and Age,Days of WholeNumber type in Contact entity
/// Select the Custom workflow
and fill the DOB
/// In Update step Setproperties
Age and day field
/// </summary>
public class Class1 : CodeActivity
{
[Input("Date of Birth")]
public InArgument<DateTime> DOB { get; set; }
protected override void Execute(CodeActivityContext context)
{
ITracingService tracingService = (ITracingService)context.GetExtension<ITracingService>();
IWorkflowContext workflowContext = (IWorkflowContext)context.GetExtension<IWorkflowContext>();
IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)context.GetExtension<IOrganizationServiceFactory>();
IOrganizationService service = serviceFactory.CreateOrganizationService(workflowContext.UserId);
DateTime dtDOB = DOB.Get(context);
int
CalculateAges = Convert.ToInt32(DateTime.Now.Subtract(dtDOB).TotalDays)/365;
int
CalculateDays = Convert.ToInt32(DateTime.Now.Subtract(dtDOB).TotalDays);
Day.Set(context, CalculateDays);
Age.Set(context, CalculateAges);
}
[Output("Age")]
public OutArgument<Int32> Age { get; set; }
[Output("Day")]
public OutArgument<Int32> Day { get; set; }
}
}
Comments
Post a Comment