Quantcast
Channel: Microsoft Dynamics CRM Forum - Recent Threads
Viewing all articles
Browse latest Browse all 79901

No plugins have been selected from the list. Please select at least one and try again." while publishing the Custom Workflow Activity with Plugin Registration Tool

$
0
0

namespace Workflow
{

using Microsoft.Crm.Sdk.Messages;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Query;
using Microsoft.Xrm.Sdk.Workflow;

using System;
using System.Activities;

public partial class CustomWorkflow: CodeActivity
{
/// <summary>
/// Define property for DayofWeeks
/// </summary>
[Output("DayofWeek")]
public OutArgument<String> DayofWeek { get; set; }

/// <summary>
/// Define override method for custom workflow Execute
/// </summary>
/// <param name="Execution"></param>
protected override void Execute(CodeActivityContext Execution)
{

string Day = string.Empty;
DateTime _Date = DateTime.MinValue;

//Get context
IWorkflowContext context = Execution.GetExtension<IWorkflowContext>();

//Create iorganization service object
IOrganizationServiceFactory serviceFactory = Execution.GetExtension<IOrganizationServiceFactory>();
IOrganizationService service = serviceFactory.CreateOrganizationService(context.InitiatingUserId);

//Get created date of the lead
Entity _lead = (Entity)service.Retrieve("lead", context.PrimaryEntityId, new ColumnSet(new string[] { "createdon" }));
if (_lead.Contains("createdon"))
{
//get day of the week based on created on date
Day = ((DateTime)_lead.Attributes["createdon"]).DayOfWeek.ToString();
}

//Set value to output variable
DayofWeek.Set(Execution, Day);

if (Day == "Sunday")
{
Guid _UserID = GetUserID(service);
AssignLead(service, context.PrimaryEntityId, _UserID);
}
}

/// <summary>
/// To get Userid
/// </summary>
/// <param name="service"></param>
/// <returns></returns>
private Guid GetUserID(IOrganizationService service)
{
Guid _UserID = Guid.Empty;

ConditionExpression condition1 = new ConditionExpression();
condition1.AttributeName = "firstname";
condition1.Operator = ConditionOperator.Equal;
condition1.Values.Add("Vishanshu");

ConditionExpression condition2 = new ConditionExpression();
condition2.AttributeName = "lastname";
condition2.Operator = ConditionOperator.Equal;
condition2.Values.Add("Jain");

FilterExpression filter1 = new FilterExpression();
filter1.Conditions.AddRange(condition1, condition2);
QueryExpression query = new QueryExpression("systemuser");
query.Criteria.AddFilter(filter1);

EntityCollection EntityCol = service.RetrieveMultiple(query);
if (EntityCol.Entities.Count > 0)
{
Entity _User = (Entity)EntityCol.Entities[0];
_UserID = _User.Id;
}
return _UserID;
}

/// <summary>
/// AssignLead to user
/// </summary>
/// <param name="service"></param>
/// <param name="LeadID"></param>
/// <param name="UserID"></param>
private void AssignLead(IOrganizationService service, Guid LeadID, Guid UserID)
{
AssignRequest _Assign = new AssignRequest()
{
Assignee = new EntityReference("systemuser", UserID),
Target = new EntityReference("lead", LeadID)
};
service.Execute(_Assign);
}
}
}


Viewing all articles
Browse latest Browse all 79901

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>