Description:
In this example we explain that how to translate Lead Data from one Language to another Language in Dynamic CRM using Custom Workflow. Or translate lead data in Dynamic CRM using plugin or custom workflow. Or how to translate record from one language to another language using custom workflow in Dynamic CRM.
Common Class:
msdyncrmWorkflowTools_Class Class :
Custom WorkFlow:
In this example we explain that how to translate Lead Data from one Language to another Language in Dynamic CRM using Custom Workflow. Or translate lead data in Dynamic CRM using plugin or custom workflow. Or how to translate record from one language to another language using custom workflow in Dynamic CRM.
So here we demonstrate that
how to change Lead Record from English to other language like Spanish, Dutch etc.
when Lead is created in Dynamic CRM at that that custom workflow will be called
in back end and it will translate all field of the Lead to another Language.
So when English user enter
Lead data in English and when same Lead is open by Dutch user then these Lead
data are shown in Dutch Language based on user language you can setup.
Below is the custom workflow
code that will be helpful to translate the Lead Record to another language.
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Messages;
using Microsoft.Xrm.Sdk.Metadata;
using Microsoft.Xrm.Sdk.Metadata.Query;
using Microsoft.Xrm.Sdk.Query;
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 ChangeLanguage.Language
{
public class Common
{
public
ITracingService tracingService;
public
IWorkflowContext context;
public
IOrganizationServiceFactory serviceFactory;
public
IOrganizationService service;
public Common(CodeActivityContext
executionContext)
{
tracingService =
executionContext.GetExtension<ITracingService>();
context =
executionContext.GetExtension<IWorkflowContext>();
serviceFactory = executionContext.GetExtension<IOrganizationServiceFactory>();
service =
serviceFactory.CreateOrganizationService(context.UserId);
}
}
}
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Messages;
using Microsoft.Xrm.Sdk.Metadata;
using Microsoft.Xrm.Sdk.Query;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using System.Net;
using System.Net.Http;
using System.Web;
using System.Net.Http.Headers;
using System.IO;
using System.Runtime.Serialization;
using System.Xml;
using Microsoft.Crm.Sdk.Messages;
using System.Text.RegularExpressions;
using Newtonsoft.Json.Linq;
using System.Globalization;
using System.Drawing;
using System.Drawing.Imaging;
using System.Xml.Linq;
namespace ChangeLanguage.Language
{
public class msdyncrmWorkflowTools_Class
{
private
IOrganizationService service;
private
ITracingService tracing;
//Shared
HttpClient
private
static HttpClient httpClient;
/// <summary>
/// Class Constructor: Inits Singletion objects
/// </summary>
static
msdyncrmWorkflowTools_Class()
{
//Setup a
commong HttpClient as a best practice to avoid leaving open connections
//more
details
https://docs.microsoft.com/en-us/azure/architecture/antipatterns/improper-instantiation/
httpClient = new HttpClient();
httpClient.Timeout = new TimeSpan(0, 0,
30); //30 second timeout as recommend by Microsoft
Support to prevent TimeOut on Sandbox
httpClient.DefaultRequestHeaders.Accept.Add(new
MediaTypeWithQualityHeaderValue("application/json"));//ACCEPT header
}
public
msdyncrmWorkflowTools_Class(IOrganizationService _service, ITracingService
_tracing)
{
service = _service;
tracing = _tracing;
}
public
msdyncrmWorkflowTools_Class(IOrganizationService _service)
{
service = _service;
tracing = null;
}
public void QueryValues()
{
}
public string JsonParser(string
Json, string JsonPath)
{
if
(JsonPath == null) JsonPath = "";
JObject o = JObject.Parse(Json);
string
name = o.SelectToken(JsonPath).ToString();
return
name;
}
public string AzureTranslateText(string
subscriptionKey, string text, string sourceLanguage, string
destinationLanguage)
{
string
uri;
var
authTokenSource = new AzureAuthToken(subscriptionKey.Trim());
string
authToken = authTokenSource.GetAccessToken();
HttpRequestMessage request;
if
(sourceLanguage == "")
{
uri = "https://api.microsofttranslator.com/v2/Http.svc/Detect?text="
+ text;
request = new HttpRequestMessage(HttpMethod.Get, uri);
request.Headers.Add("Authorization", authToken);
XmlDocument
xmlDoc = new XmlDocument();
xmlDoc.LoadXml(ExecuteAsyncRequest(request));
sourceLanguage =
xmlDoc.ChildNodes[0].InnerText;
}
uri = "https://api.microsofttranslator.com/v2/Http.svc/Translate?text="
+ text + "&from=" +
sourceLanguage + "&to=" +
destinationLanguage;
request = new
HttpRequestMessage(HttpMethod.Get, uri);
request.Headers.Add("Authorization", authToken);
return
ExecuteAsyncRequest(request);
}
public string AzureFunctionCall(string
jSon, string serviceUrl)
{
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, serviceUrl);
request.Content = new StringContent(jSon, Encoding.UTF8,
"application/json");
return
ExecuteAsyncRequest(request);
}
public string AzureTextAnalyticsSentiment(string subscriptionKey, string
text, string language)
{
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post,
"https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment");
request.Headers.Add("Ocp-Apim-Subscription-Key",
subscriptionKey);
request.Content = new StringContent("{\"documents\":["
+ "{\"language\":\""
+ language + "\" ,
\"id\":\"1\",\"text\":\"" + text
+ "\"}]}"
, Encoding.UTF8,
"application/json");
return
ExecuteAsyncRequest(request);
}
public string
TranslateText(string textToTranslate, string language, string
key)
{
TranslateTextasync(textToTranslate,
language, key).Wait() ;
var
content = XElement.Parse(result).Value;
return
content;
}
string
result;
async
Task TranslateTextasync(string
textToTranslate, string language, string key)
{
string
host = "https://api.microsofttranslator.com";
string
path = "/V2/Http.svc/Translate";
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", key);
List<KeyValuePair<string,
string>> list = new
List<KeyValuePair<string, string>>()
{
new
KeyValuePair<string,
string> (textToTranslate,language)// "fr-fr"
};
foreach
(KeyValuePair<string,
string> i in
list)
{
string
uri = host + path + "?to=" +
i.Value + "&text=" +
System.Net.WebUtility.UrlEncode(i.Key);
HttpResponseMessage response =
await client.GetAsync(uri);
result = await
response.Content.ReadAsStringAsync();
//
NOTE: A successful response is returned in XML. You can extract the contents of
the XML as follows.
//
var content = XElement.Parse(result).Value;
Console.WriteLine(result);
}
}
/// <summary>
/// Forces a synchronous Execution of an HttpRequest
/// </summary>
/// <param
name="message">HttpRequest to
Execute</param>
/// <returns>String with Response</returns>
private
string ExecuteAsyncRequest(HttpRequestMessage
message)
{
string
result = null;
var
task = Task.Run(async () =>
{
var
response = await httpClient.SendAsync(message);
result = await
response.Content.ReadAsStringAsync();
});
while
(!task.IsCompleted)
{
System.Threading.Thread.Yield();
}
if
(task.IsFaulted)
{
throw
task.Exception;
}
else
if (task.IsCanceled)
{
throw
new TimeoutException(string.Format("Timeout
waiting for HttpResponse {1}:{0}", message.RequestUri,
message.Method));
}
return
result;
}
}
public class AzureAuthToken
{
private
static HttpClient client = new HttpClient();
/// URL of the token service
private
static readonly
Uri ServiceUrl = new
Uri("https://api.cognitive.microsoft.com/sts/v1.0/issueToken");
/// Name of header used to pass the subscription key to the
token service
private
const string
OcpApimSubscriptionKeyHeader = "Ocp-Apim-Subscription-Key";
/// After obtaining a valid token, this class will cache it
for this duration.
/// Use a duration of 5 minutes, which is less than the actual
token lifetime of 10 minutes.
private
static readonly
TimeSpan TokenCacheDuration = new TimeSpan(0, 5,
0);
/// Cache the value of the last valid token obtained from the
token service.
private
string storedTokenValue = string.Empty;
/// When the last valid token was obtained.
private
DateTime storedTokenTime = DateTime.MinValue;
/// Gets the subscription key.
public string SubscriptionKey { get;
private set; }
= string.Empty;
/// Gets the HTTP status code for the most recent request to
the token service.
public HttpStatusCode RequestStatusCode { get; private set; }
/// <summary>
/// Creates a client to obtain an access token.
/// </summary>
/// <param
name="key">Subscription key to
use to get an authentication token.</param>
public
AzureAuthToken(string key)
{
if
(string.IsNullOrEmpty(key))
{
throw
new ArgumentNullException("key", "A
subscription key is required");
}
this.SubscriptionKey
= key;
this.RequestStatusCode
= HttpStatusCode.InternalServerError;
}
/// <summary>
/// Gets a token for the specified subscription.
/// </summary>
/// <returns>The encoded JWT token prefixed with the string "Bearer
".</returns>
/// <remarks>
/// This method uses a cache to limit the number of request to
the token service.
/// A fresh token can be re-used during its lifetime of 10
minutes. After a successful
/// request to the token service, this method caches the
access token. Subsequent
/// invocations of the method return the cached token for the
next 5 minutes. After
/// 5 minutes, a new token is fetched from the token service
and the cache is updated.
/// </remarks>
public
async Task<string> GetAccessTokenAsync()
{
if
(SubscriptionKey == string.Empty) return string.Empty;
// Re-use
the cached token if there is one.
if
((DateTime.Now - storedTokenTime) <
TokenCacheDuration)
{
return
storedTokenValue;
}
using
(var request = new HttpRequestMessage())
{
request.Method =
HttpMethod.Post;
request.RequestUri =
ServiceUrl;
request.Content = new StringContent(string.Empty);
request.Headers.TryAddWithoutValidation(OcpApimSubscriptionKeyHeader,
this.SubscriptionKey);
client.Timeout =
TimeSpan.FromSeconds(2);
var response = await
client.SendAsync(request);
this.RequestStatusCode
= response.StatusCode;
response.EnsureSuccessStatusCode();
var token = await
response.Content.ReadAsStringAsync();
storedTokenTime = DateTime.Now;
storedTokenValue = "Bearer " + token;
return
storedTokenValue;
}
}
}
}
namespace ChangeLanguage.Language
{
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
{
#region
"Parameter Definition"
[RequiredArgument]
[Input("Text
To Translate")]
[Default("")]
public InArgument<String>
TextToTranslate { get; set;
}
[RequiredArgument]
[Input("User")]
[ReferenceTarget("systemuser")]
public InArgument<EntityReference> User { get; set; }
[RequiredArgument]
[Input("Authentication
key")]
[Default("")]
public InArgument<string>
Authenticationkey { get; set; }
[RequiredArgument]
[Input("Lead")]
[ReferenceTarget("lead")]
public InArgument<EntityReference> Lead { get; set; }
protected
override void
Execute(CodeActivityContext
executionContext)
{
#region "Load CRM Service from context"
Common objCommon = new Common(executionContext);
objCommon.tracingService.Trace("Load CRM Service from context --- OK");
#endregion
#region "Read Parameters"
String
_Authenticationkey = this.Authenticationkey.Get(executionContext);
#endregion
string
topicinenglish = null;
string
topicinspanish = null;
string
topicinitly = null;
string
topicingerman = null;
string
topicindutch = null;
string
topicinfrench = null;
string
jobtitleinenglish = null;
string
jobtitleinspanish = null;
string
jobtitleinitly = null;
string
jobtitleingerman = null;
string
jobtitleindutch = null;
string
jobtitleinfrench = null;
string
descinenglish = null;
string
descinspanish = null;
string
descinitly = null;
string
descingerman = null;
string
descindutch = null;
string
descinfrench = null;
EntityReference userReference = this.Lead.Get(executionContext);
EntityReference systemuserReference
= this.User.Get(executionContext);
QueryExpression ContactlList = new QueryExpression("usersettings");
ContactlList.ColumnSet = new ColumnSet(true);
ContactlList.Criteria.AddCondition(
"systemuserid",
ConditionOperator.Equal,
systemuserReference.Id
);
var
contactDetail = objCommon.service.RetrieveMultiple(ContactlList);
QueryExpression leadlist = new QueryExpression("lead");
leadlist.ColumnSet = new ColumnSet(true);
leadlist.Criteria.AddCondition(
"leadid",
ConditionOperator.Equal,
userReference.Id
);
var
leadDetail = objCommon.service.RetrieveMultiple(leadlist);
string
LanguageId = Convert.ToString(contactDetail.Entities[0].Attributes["uilanguageid"]);
Entity ld = new Entity("lead");
ld.Attributes.Add("leadid", userReference.Id);
msdyncrmWorkflowTools_Class
commonClass = new
msdyncrmWorkflowTools_Class(objCommon.service, objCommon.tracingService);
// throw
new InvalidWorkflowException("Old Text is
:" +
Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinfrench"]));
if
(LanguageId == "1033") //English
{
if
(leadDetail.Entities[0].Attributes.Contains("subject"))
{
topicinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["subject"]), "es",
_Authenticationkey);
topicinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["subject"]), "it",
_Authenticationkey);
topicingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["subject"]), "de",
_Authenticationkey);
topicindutch = commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["subject"]), "nl",
_Authenticationkey);
topicinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["subject"]), "fr",
_Authenticationkey);
ld.Attributes.Add("new_topicinspanish", topicinspanish);
ld.Attributes.Add("new_topicinitalian", topicinitly);
ld.Attributes.Add("new_topicingerman", topicingerman);
ld.Attributes.Add("new_topicindutch", topicindutch);
ld.Attributes.Add("new_topicinfrench", topicinfrench);
}
if
(leadDetail.Entities[0].Attributes.Contains("jobtitle"))
{
jobtitleinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["jobtitle"]), "es",
_Authenticationkey);
jobtitleinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["jobtitle"]), "it",
_Authenticationkey);
jobtitleingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["jobtitle"]), "de",
_Authenticationkey);
jobtitleindutch = commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["jobtitle"]), "nl",
_Authenticationkey);
jobtitleinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["jobtitle"]), "fr",
_Authenticationkey);
ld.Attributes.Add("new_jobtitleinspanish",
jobtitleinspanish);
ld.Attributes.Add("new_jobtitleinitalian",
jobtitleinitly);
ld.Attributes.Add("new_jobtitleingerman", jobtitleingerman);
ld.Attributes.Add("new_jobtitleindutch", jobtitleindutch);
ld.Attributes.Add("new_jobtitleinfrench",
jobtitleinfrench);
}
if
(leadDetail.Entities[0].Attributes.Contains("description"))
{
descinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["description"]), "es", _Authenticationkey);
descinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["description"]), "it", _Authenticationkey);
descingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["description"]), "de", _Authenticationkey);
descindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["description"]), "nl", _Authenticationkey);
descinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["description"]), "fr", _Authenticationkey);
ld.Attributes.Add("new_descriptioninspanish",
descinspanish);
ld.Attributes.Add("new_descriptioninitalian", descinitly);
ld.Attributes.Add("new_descriptioningerman",
descingerman);
ld.Attributes.Add("new_descriptionindutch", descindutch);
ld.Attributes.Add("new_descriptioninfrench",
descinfrench);
}
}
else
if (LanguageId == "3082")//Spanish
{
if
(leadDetail.Entities[0].Attributes.Contains("new_topicinspanish"))
{
topicinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinspanish"]), "en", _Authenticationkey);
topicinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinspanish"]), "it", _Authenticationkey);
topicingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinspanish"]), "de", _Authenticationkey);
topicindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinspanish"]), "nl", _Authenticationkey);
topicinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinspanish"]), "fr", _Authenticationkey);
ld.Attributes.Add("subject", topicinenglish);
ld.Attributes.Add("new_topicinitalian", topicinitly);
ld.Attributes.Add("new_topicingerman", topicingerman);
ld.Attributes.Add("new_topicindutch", topicindutch);
ld.Attributes.Add("new_topicinfrench", topicinfrench);
}
if
(leadDetail.Entities[0].Attributes.Contains("new_jobtitleinspanish"))
{
jobtitleinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinspanish"]), "en", _Authenticationkey);
jobtitleinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinspanish"]), "it", _Authenticationkey);
jobtitleingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinspanish"]), "de", _Authenticationkey);
jobtitleindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinspanish"]), "nl", _Authenticationkey);
jobtitleinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinspanish"]), "fr", _Authenticationkey);
ld.Attributes.Add("jobtitle", jobtitleinenglish);
ld.Attributes.Add("new_jobtitleinitalian",
jobtitleinitly);
ld.Attributes.Add("new_jobtitleingerman",
jobtitleingerman);
ld.Attributes.Add("new_jobtitleindutch", jobtitleindutch);
ld.Attributes.Add("new_jobtitleinfrench",
jobtitleinfrench);
}
if
(leadDetail.Entities[0].Attributes.Contains("new_descriptioninspanish"))
{
descinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninspanish"]), "en", _Authenticationkey);
descinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninspanish"]), "it", _Authenticationkey);
descingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninspanish"]), "de", _Authenticationkey);
descindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninspanish"]), "nl", _Authenticationkey);
descinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninspanish"]), "fr", _Authenticationkey);
ld.Attributes.Add("description", descinenglish);
ld.Attributes.Add("new_descriptioninitalian", descinitly);
ld.Attributes.Add("new_descriptioningerman",
descingerman);
ld.Attributes.Add("new_descriptionindutch", descindutch);
ld.Attributes.Add("new_descriptioninfrench",
descinfrench);
}
}
else
if (LanguageId == "1040")//Italy
{
if
(leadDetail.Entities[0].Attributes.Contains("new_topicinitalian"))
{
topicinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinitalian"]), "es", _Authenticationkey);
topicinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinitalian"]), "en", _Authenticationkey);
topicingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinitalian"]), "de", _Authenticationkey);
topicindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinitalian"]), "nl", _Authenticationkey);
topicinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinitalian"]), "fr", _Authenticationkey);
ld.Attributes.Add("new_topicinspanish",
topicinspanish);
ld.Attributes.Add("subject", topicinenglish);
ld.Attributes.Add("new_topicingerman", topicingerman);
ld.Attributes.Add("new_topicindutch", topicindutch);
ld.Attributes.Add("new_topicinfrench", topicinfrench);
}
if
(leadDetail.Entities[0].Attributes.Contains("new_jobtitleinitalian"))
{
jobtitleinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinitalian"]), "es", _Authenticationkey);
jobtitleinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinitalian"]), "en", _Authenticationkey);
jobtitleingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinitalian"]), "de", _Authenticationkey);
jobtitleindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinitalian"]), "nl", _Authenticationkey);
jobtitleinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinitalian"]), "fr", _Authenticationkey);
ld.Attributes.Add("new_jobtitleinspanish",
jobtitleinspanish);
ld.Attributes.Add("jobtitle", jobtitleinenglish);
ld.Attributes.Add("new_jobtitleingerman",
jobtitleingerman);
ld.Attributes.Add("new_jobtitleindutch", jobtitleindutch);
ld.Attributes.Add("new_jobtitleinfrench",
jobtitleinfrench);
}
if
(leadDetail.Entities[0].Attributes.Contains("new_descriptioninitalian"))
{
descinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninitalian"]), "es", _Authenticationkey);
descinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninitalian"]), "en", _Authenticationkey);
descingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninitalian"]), "de", _Authenticationkey);
descindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninitalian"]), "nl", _Authenticationkey);
descinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninitalian"]), "fr", _Authenticationkey);
ld.Attributes.Add("new_descriptioninspanish",
descinspanish);
ld.Attributes.Add("description", descinenglish);
ld.Attributes.Add("new_descriptioningerman",
descingerman);
ld.Attributes.Add("new_descriptionindutch", descindutch);
ld.Attributes.Add("new_descriptioninfrench",
descinfrench);
}
}
else
if (LanguageId == "1031")//German
{
if
(leadDetail.Entities[0].Attributes.Contains("new_topicingerman"))
{
topicinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicingerman"]), "es", _Authenticationkey);
topicinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicingerman"]), "it", _Authenticationkey);
topicinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicingerman"]), "en", _Authenticationkey);
topicindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicingerman"]), "nl", _Authenticationkey);
topicinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicingerman"]), "fr", _Authenticationkey);
ld.Attributes.Add("new_topicinspanish", topicinspanish);
ld.Attributes.Add("new_topicinitalian", topicinitly);
ld.Attributes.Add("subject", topicinenglish);
ld.Attributes.Add("new_topicindutch", topicindutch);
ld.Attributes.Add("new_topicinfrench", topicinfrench);
}
if
(leadDetail.Entities[0].Attributes.Contains("new_jobtitleingerman"))
{
jobtitleinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleingerman"]), "es", _Authenticationkey);
jobtitleinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleingerman"]), "it", _Authenticationkey);
jobtitleinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleingerman"]), "en", _Authenticationkey);
jobtitleindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleingerman"]), "nl", _Authenticationkey);
jobtitleinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleingerman"]), "fr", _Authenticationkey);
ld.Attributes.Add("new_jobtitleinspanish",
jobtitleinspanish);
ld.Attributes.Add("new_jobtitleinitalian",
jobtitleinitly);
ld.Attributes.Add("jobtitle", jobtitleinenglish);
ld.Attributes.Add("new_jobtitleindutch", jobtitleindutch);
ld.Attributes.Add("new_jobtitleinfrench", jobtitleinfrench);
}
if
(leadDetail.Entities[0].Attributes.Contains("new_descriptioningerman"))
{
descinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioningerman"]), "es", _Authenticationkey);
descinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioningerman"]), "it", _Authenticationkey);
descinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioningerman"]), "en", _Authenticationkey);
descindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioningerman"]), "nl", _Authenticationkey);
descinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioningerman"]), "fr", _Authenticationkey);
ld.Attributes.Add("new_descriptioninspanish",
descinspanish);
ld.Attributes.Add("new_descriptioninitalian", descinitly);
ld.Attributes.Add("description", descinenglish);
ld.Attributes.Add("new_descriptionindutch", descindutch);
ld.Attributes.Add("new_descriptioninfrench",
descinfrench);
}
}
else
if (LanguageId == "1043")//Dutch
{
if
(leadDetail.Entities[0].Attributes.Contains("new_topicindutch"))
{
topicinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicindutch"]), "es", _Authenticationkey);
topicinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicindutch"]), "it", _Authenticationkey);
topicingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicindutch"]), "de", _Authenticationkey);
topicinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicindutch"]), "en", _Authenticationkey);
topicinfrench = commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicindutch"]), "fr", _Authenticationkey);
ld.Attributes.Add("new_topicinspanish", topicinspanish);
ld.Attributes.Add("new_topicinitalian", topicinitly);
ld.Attributes.Add("new_topicingerman", topicingerman);
ld.Attributes.Add("subject", topicinenglish);
ld.Attributes.Add("new_topicinfrench", topicinfrench);
}
if
(leadDetail.Entities[0].Attributes.Contains("new_jobtitleindutch"))
{
jobtitleinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleindutch"]), "es", _Authenticationkey);
jobtitleinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleindutch"]), "it", _Authenticationkey);
jobtitleingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleindutch"]), "de", _Authenticationkey);
jobtitleinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleindutch"]), "en", _Authenticationkey);
jobtitleinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleindutch"]), "fr", _Authenticationkey);
ld.Attributes.Add("new_jobtitleinspanish",
jobtitleinspanish);
ld.Attributes.Add("new_jobtitleinitalian",
jobtitleinitly);
ld.Attributes.Add("new_jobtitleingerman",
jobtitleingerman);
ld.Attributes.Add("jobtitle", jobtitleinenglish);
ld.Attributes.Add("new_jobtitleinfrench",
jobtitleinfrench);
}
if
(leadDetail.Entities[0].Attributes.Contains("new_descriptionindutch"))
{
descinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptionindutch"]), "es", _Authenticationkey);
descinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptionindutch"]), "it", _Authenticationkey);
descingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptionindutch"]), "de", _Authenticationkey);
descinenglish = commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptionindutch"]), "en", _Authenticationkey);
descinfrench =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptionindutch"]), "fr", _Authenticationkey);
ld.Attributes.Add("new_descriptioninspanish",
descinspanish);
ld.Attributes.Add("new_descriptioninitalian", descinitly);
ld.Attributes.Add("new_descriptioningerman",
descingerman);
ld.Attributes.Add("description", descinenglish);
ld.Attributes.Add("new_descriptioninfrench",
descinfrench);
}
}
else
if (LanguageId == "1036")//French
{
if
(leadDetail.Entities[0].Attributes.Contains("new_topicinfrench"))
{
topicinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinfrench"]), "es", _Authenticationkey);
topicinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinfrench"]), "it", _Authenticationkey);
topicingerman = commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinfrench"]), "de", _Authenticationkey);
topicindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinfrench"]), "nl", _Authenticationkey);
topicinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_topicinfrench"]), "en", _Authenticationkey);
ld.Attributes.Add("new_topicinspanish", topicinspanish);
ld.Attributes.Add("new_topicinitalian", topicinitly);
ld.Attributes.Add("new_topicingerman", topicingerman);
ld.Attributes.Add("new_topicindutch", topicindutch);
ld.Attributes.Add("subject",
topicinenglish);
}
if
(leadDetail.Entities[0].Attributes.Contains("new_jobtitleinfrench"))
{
jobtitleinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinfrench"]), "es", _Authenticationkey);
jobtitleinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinfrench"]), "it", _Authenticationkey);
jobtitleingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinfrench"]), "de", _Authenticationkey);
jobtitleindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinfrench"]), "nl", _Authenticationkey);
jobtitleinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_jobtitleinfrench"]), "en", _Authenticationkey);
ld.Attributes.Add("new_jobtitleinspanish",
jobtitleinspanish);
ld.Attributes.Add("new_jobtitleinitalian",
jobtitleinitly);
ld.Attributes.Add("new_jobtitleingerman",
jobtitleingerman);
ld.Attributes.Add("new_jobtitleindutch", jobtitleindutch);
ld.Attributes.Add("jobtitle", jobtitleinenglish);
}
if
(leadDetail.Entities[0].Attributes.Contains("new_descriptioninfrench"))
{
descinspanish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninfrench"]), "es", _Authenticationkey);
descinitly =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninfrench"]), "it", _Authenticationkey);
descingerman =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninfrench"]), "de", _Authenticationkey);
descindutch =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninfrench"]), "nl", _Authenticationkey);
descinenglish =
commonClass.TranslateText(Convert.ToString(leadDetail.Entities[0].Attributes["new_descriptioninfrench"]), "en", _Authenticationkey);
ld.Attributes.Add("new_descriptioninspanish",
descinspanish);
ld.Attributes.Add("new_descriptioninitalian", descinitly);
ld.Attributes.Add("new_descriptioningerman",
descingerman);
ld.Attributes.Add("new_descriptionindutch", descindutch);
ld.Attributes.Add("description", descinenglish);
}
}
objCommon.service.Update(ld);
}
}
0 comments:
Post a Comment