Description:
In this
example we explain that how to get user language in Dynamic CRM using custom workflow.
Or how to find the CRM user language Id(LCID) from within C# custom code using
custom workflow or plugin. Or how to get the language id of the current user
using custom workflow in Dynamic CRM.
So here we demonstrate
that how to get the userId and based on UserId we find the Language Id of the
user using custom workflow or plugin in Dynamic 365.below is the code to get
the Language Id of the current user and based on the Language you can perform
the different activities as per your requirements.
below code will require two parameter that you have to pass when you call custom workflow from your workflow and based on that parameter it will get the Language ID of the current user of the Dynamic CRM and display on alert box.
below code will require two parameter that you have to pass when you call custom workflow from your workflow and based on that parameter it will get the Language ID of the current user of the Dynamic CRM and display on alert box.
using System;
using
System.Activities;
using
System.ServiceModel;
using
Microsoft.Xrm.Sdk;
using
Microsoft.Xrm.Sdk.Workflow;
using
Microsoft.Xrm.Sdk.Query;
using
System.Collections.Generic;
using
System.Linq;
public sealed class
TranslateText : CodeActivity
{
[RequiredArgument]
[Input("User")]
[ReferenceTarget("systemuser")]
public InArgument<EntityReference> User { get; set; }
[RequiredArgument]
[Input("Lead")]
[ReferenceTarget("lead")]
public InArgument<EntityReference> Lead { get; set; }
public ITracingService tracingService;
public IWorkflowContext context;
public IOrganizationServiceFactory serviceFactory;
public IOrganizationService service;
protected override void
Execute(CodeActivityContext
executionContext)
{
tracingService
= executionContext.GetExtension<ITracingService>();
context =
executionContext.GetExtension<IWorkflowContext>();
serviceFactory =
executionContext.GetExtension<IOrganizationServiceFactory>();
service = serviceFactory.CreateOrganizationService(context.UserId); EntityReference
userReference = this.Lead.Get(executionContext);
EntityReference systemuserReference = this.User.Get(executionContext);
QueryExpression UserList = new QueryExpression("usersettings");
UserList.ColumnSet = new ColumnSet(true);
UserList.Criteria.AddCondition(
"systemuserid",
ConditionOperator.Equal,
systemuserReference.Id
);
var
UserLists = service.RetrieveMultiple(UserList);
string
LanguageId = Convert.ToString(UserLists.Entities[0].Attributes["uilanguageid"]);
throw new InvalidWorkflowException("Current User Language Id is :" + LanguageId);
}
}
0 comments:
Post a Comment