function removeReceiverAtTo() {
var parentActivityID = null;
var Direction = null;
var subject = null;
var status = null;
var isDirty = Xrm.Page.data.entity.getIsDirty();
if (Xrm.Page.getAttribute("statuscode").getValue() != null || Xrm.Page.getAttribute("statuscode").getValue() != "") {
status = Xrm.Page.getAttribute("statuscode").getValue();
}
if (Xrm.Page.getAttribute("directioncode").getValue() != null || Xrm.Page.getAttribute("directioncode").getValue() != "") {
Direction = Xrm.Page.getAttribute("directioncode").getValue();
}
if (isDirty) {
if (status == 1 && Direction == true) {
if (Xrm.Page.getAttribute("tec_action").getValue() != null || Xrm.Page.getAttribute("tec_action").getValue() != "") {
// Status - 1 - Draft
getDomainValue();
Xrm.Page.getAttribute("tec_action").setValue(null);
}
}
}
else {
if (status == 1 && Direction == true) {
if (Xrm.Page.getAttribute("tec_action").getValue() != null || Xrm.Page.getAttribute("tec_action").getValue() != "") {
// Status - 1 - Draft
getDomainValue();
Xrm.Page.getAttribute("tec_action").setValue(null);
}
}
}
}
function retrieveReqCallBack(EmailAddressFinal) {
var hostName = EmailAddressFinal.split(";");
var Domain = false;
var NonDomain = false;
var hNLength = hostName.length - 1;
while (hNLength >= 0) {
var item = hostName[hNLength];
if (item != null && item != "") {
if (!item.includes("domain.in") || !item.includes("domain.net")) {
Domain = false;
NonDomain = true;
break;
}
}
hNLength = hNLength - 1;
}
CheckDomainorNonDomain(Domain, NonDomain);
}
function CheckDomainorNonDomain(Domain, nonDomain) {
if ((Domain == false || Domain == "false") && (nonDomain == true || nonDomain == "true")) {
//var unresolvedemail = "email_1_nonDomain@nondomain.com";
//var obj = new Object(); //create the unresolved object
//obj.name = unresolvedemail;
//obj.category = 3;
//obj.data = unresolvedemail;
//obj.type = "9206";
var queueGuid = "394B4273-BD7A-E811-80C5-00155D668D41";
var queueName = "Email_nonDomain";
var entityName = "queue";
var lookup = new Array();
lookup[0] = new Object();
lookup[0].id = queueGuid;
lookup[0].name = queueName;
lookup[0].entityType = entityName;
var fromField = Xrm.Page.getAttribute("from");
var fromValue = fromField.getValue();
if (fromValue != null) {
Xrm.Page.getAttribute("from").setValue(null);
Xrm.Page.getAttribute("from").setValue(lookup);
//fromField.setValue([obj]); //if 'from' field is null, just override it
// Xrm.Page.data.entity.save();
}
}
else {
if (Xrm.Page.data.entity.attributes.get("regardingobjectid").getValue() != null) {
var regardingField = Xrm.Page.getAttribute("regardingobjectid").getValue();
var lookupItem = new Object();
var RegardingId = regardingField[0].id;
var RegardingName = regardingField[0].name;
var EntityName = regardingField[0].entityType;
if (EntityName == "Lead" || EntityName == "lead") {
//var unresolvedemail = "emailLead_Dmain@tectura.com";
//var obj = new Object(); //create the unresolved object
//obj.name = unresolvedemail;
//obj.category = 3;
//obj.data = unresolvedemail;
//obj.type = "9206";
var queueGuid = "8F6F5A5E-C17A-E811-80C5-00155D668D41";
var queueName = "Email_Lead_Domain";
var entityName = "queue";
var lookup = new Array();
lookup[0] = new Object();
lookup[0].id = queueGuid;
lookup[0].name = queueName;
lookup[0].entityType = entityName;
var fromField = Xrm.Page.getAttribute("from");
var fromValue = fromField.getValue();
if (fromValue != null) {
Xrm.Page.getAttribute("from").setValue(null);
Xrm.Page.getAttribute("from").setValue(lookup);
// fromField.setValue([obj]); //if 'from' field is null, just override it
}
}
else if (EntityName == "Incident" || EntityName == "incident") {
//var unresolvedemail = "emailIncident_Domain@nonDomain.com";
//var obj = new Object(); //create the unresolved object
//obj.name = unresolvedemail;
//obj.category = 3;
//obj.data = unresolvedemail;
//obj.type = "9206";
var queueGuid = "CEFB6ACF-C07A-E811-80C5-00155D668D41";
var queueName = "Email_Case_Domain";
var entityName = "queue";
var lookup = new Array();
lookup[0] = new Object();
lookup[0].id = queueGuid;
lookup[0].name = queueName;
lookup[0].entityType = entityName;
var fromField = Xrm.Page.getAttribute("from");
var fromValue = fromField.getValue();
if (fromValue != null) {
Xrm.Page.getAttribute("from").setValue(null);
Xrm.Page.getAttribute("from").setValue(lookup);
//fromField.setValue([obj]); //if 'from' field is null, just override it
}
}
}
}
//Xrm.Page.data.entity.save();
}
function getDomainValue() {
//For To Party
var serverUrl = "http://" + window.location.host + "/" + Xrm.Page.context.getOrgUniqueName();
var tofield = Xrm.Page.getAttribute("to").getValue();
var fromfield = Xrm.Page.getAttribute("from").getValue();
if (tofield != null) {
var lookupData = new Array();
var i = 0;
var lens = tofield.length;
if (lens >= 1) {
//Xrm.Page.getAttribute("to").setValue(null);
var len = tofield.length - 1;
var top = tofield[len];
var EmailAddressFinal = "";
var EmailAddress = "";
while (len >= 0) {
if (tofield[len].name != fromfield[0].name) {
var lookupItem = new Object();
lookupItem.id = tofield[len].id;
lookupItem.name = tofield[len].name;
lookupItem.type = tofield[len].type;
lookupData[len] = lookupItem;
if (tofield[len].entityType == "contact") {
var oDataPath = serverUrl + "/XRMServices/2011/OrganizationData.svc";
var retrieveReq = new XMLHttpRequest();
var Odata = oDataPath + "/ContactSet?$select=EMailAddress1&$filter=ContactId eq guid'" + lookupItem.id + "'";
retrieveReq.open("GET", Odata, false);
retrieveReq.setRequestHeader("Accept", "application/json");
retrieveReq.setRequestHeader("Content-Type", "application/json; charset=utf-8");
// retrieveReq.onreadystatechange = function () { retrieveReqCallBack(this); };
retrieveReq.send();
if (retrieveReq.readyState == 4 /* complete */) {
var retrieved = this.parent.JSON.parse(retrieveReq.responseText).d;
EmailAddress = retrieved.results[0].EMailAddress1;
EmailAddressFinal = EmailAddressFinal.concat(EmailAddress + ";");
len = len - 1;
}
}
else {
EmailAddress = lookupItem.name;
EmailAddressFinal = EmailAddressFinal.concat(EmailAddress + ";");
len = len - 1;
}
}
else {
len = len - 1;
}
}
retrieveReqCallBack(EmailAddressFinal);
}
}
}
var parentActivityID = null;
var Direction = null;
var subject = null;
var status = null;
var isDirty = Xrm.Page.data.entity.getIsDirty();
if (Xrm.Page.getAttribute("statuscode").getValue() != null || Xrm.Page.getAttribute("statuscode").getValue() != "") {
status = Xrm.Page.getAttribute("statuscode").getValue();
}
if (Xrm.Page.getAttribute("directioncode").getValue() != null || Xrm.Page.getAttribute("directioncode").getValue() != "") {
Direction = Xrm.Page.getAttribute("directioncode").getValue();
}
if (isDirty) {
if (status == 1 && Direction == true) {
if (Xrm.Page.getAttribute("tec_action").getValue() != null || Xrm.Page.getAttribute("tec_action").getValue() != "") {
// Status - 1 - Draft
getDomainValue();
Xrm.Page.getAttribute("tec_action").setValue(null);
}
}
}
else {
if (status == 1 && Direction == true) {
if (Xrm.Page.getAttribute("tec_action").getValue() != null || Xrm.Page.getAttribute("tec_action").getValue() != "") {
// Status - 1 - Draft
getDomainValue();
Xrm.Page.getAttribute("tec_action").setValue(null);
}
}
}
}
function retrieveReqCallBack(EmailAddressFinal) {
var hostName = EmailAddressFinal.split(";");
var Domain = false;
var NonDomain = false;
var hNLength = hostName.length - 1;
while (hNLength >= 0) {
var item = hostName[hNLength];
if (item != null && item != "") {
if (!item.includes("domain.in") || !item.includes("domain.net")) {
Domain = false;
NonDomain = true;
break;
}
}
hNLength = hNLength - 1;
}
CheckDomainorNonDomain(Domain, NonDomain);
}
function CheckDomainorNonDomain(Domain, nonDomain) {
if ((Domain == false || Domain == "false") && (nonDomain == true || nonDomain == "true")) {
//var unresolvedemail = "email_1_nonDomain@nondomain.com";
//var obj = new Object(); //create the unresolved object
//obj.name = unresolvedemail;
//obj.category = 3;
//obj.data = unresolvedemail;
//obj.type = "9206";
var queueGuid = "394B4273-BD7A-E811-80C5-00155D668D41";
var queueName = "Email_nonDomain";
var entityName = "queue";
var lookup = new Array();
lookup[0] = new Object();
lookup[0].id = queueGuid;
lookup[0].name = queueName;
lookup[0].entityType = entityName;
var fromField = Xrm.Page.getAttribute("from");
var fromValue = fromField.getValue();
if (fromValue != null) {
Xrm.Page.getAttribute("from").setValue(null);
Xrm.Page.getAttribute("from").setValue(lookup);
//fromField.setValue([obj]); //if 'from' field is null, just override it
// Xrm.Page.data.entity.save();
}
}
else {
if (Xrm.Page.data.entity.attributes.get("regardingobjectid").getValue() != null) {
var regardingField = Xrm.Page.getAttribute("regardingobjectid").getValue();
var lookupItem = new Object();
var RegardingId = regardingField[0].id;
var RegardingName = regardingField[0].name;
var EntityName = regardingField[0].entityType;
if (EntityName == "Lead" || EntityName == "lead") {
//var unresolvedemail = "emailLead_Dmain@tectura.com";
//var obj = new Object(); //create the unresolved object
//obj.name = unresolvedemail;
//obj.category = 3;
//obj.data = unresolvedemail;
//obj.type = "9206";
var queueGuid = "8F6F5A5E-C17A-E811-80C5-00155D668D41";
var queueName = "Email_Lead_Domain";
var entityName = "queue";
var lookup = new Array();
lookup[0] = new Object();
lookup[0].id = queueGuid;
lookup[0].name = queueName;
lookup[0].entityType = entityName;
var fromField = Xrm.Page.getAttribute("from");
var fromValue = fromField.getValue();
if (fromValue != null) {
Xrm.Page.getAttribute("from").setValue(null);
Xrm.Page.getAttribute("from").setValue(lookup);
// fromField.setValue([obj]); //if 'from' field is null, just override it
}
}
else if (EntityName == "Incident" || EntityName == "incident") {
//var unresolvedemail = "emailIncident_Domain@nonDomain.com";
//var obj = new Object(); //create the unresolved object
//obj.name = unresolvedemail;
//obj.category = 3;
//obj.data = unresolvedemail;
//obj.type = "9206";
var queueGuid = "CEFB6ACF-C07A-E811-80C5-00155D668D41";
var queueName = "Email_Case_Domain";
var entityName = "queue";
var lookup = new Array();
lookup[0] = new Object();
lookup[0].id = queueGuid;
lookup[0].name = queueName;
lookup[0].entityType = entityName;
var fromField = Xrm.Page.getAttribute("from");
var fromValue = fromField.getValue();
if (fromValue != null) {
Xrm.Page.getAttribute("from").setValue(null);
Xrm.Page.getAttribute("from").setValue(lookup);
//fromField.setValue([obj]); //if 'from' field is null, just override it
}
}
}
}
//Xrm.Page.data.entity.save();
}
function getDomainValue() {
//For To Party
var serverUrl = "http://" + window.location.host + "/" + Xrm.Page.context.getOrgUniqueName();
var tofield = Xrm.Page.getAttribute("to").getValue();
var fromfield = Xrm.Page.getAttribute("from").getValue();
if (tofield != null) {
var lookupData = new Array();
var i = 0;
var lens = tofield.length;
if (lens >= 1) {
//Xrm.Page.getAttribute("to").setValue(null);
var len = tofield.length - 1;
var top = tofield[len];
var EmailAddressFinal = "";
var EmailAddress = "";
while (len >= 0) {
if (tofield[len].name != fromfield[0].name) {
var lookupItem = new Object();
lookupItem.id = tofield[len].id;
lookupItem.name = tofield[len].name;
lookupItem.type = tofield[len].type;
lookupData[len] = lookupItem;
if (tofield[len].entityType == "contact") {
var oDataPath = serverUrl + "/XRMServices/2011/OrganizationData.svc";
var retrieveReq = new XMLHttpRequest();
var Odata = oDataPath + "/ContactSet?$select=EMailAddress1&$filter=ContactId eq guid'" + lookupItem.id + "'";
retrieveReq.open("GET", Odata, false);
retrieveReq.setRequestHeader("Accept", "application/json");
retrieveReq.setRequestHeader("Content-Type", "application/json; charset=utf-8");
// retrieveReq.onreadystatechange = function () { retrieveReqCallBack(this); };
retrieveReq.send();
if (retrieveReq.readyState == 4 /* complete */) {
var retrieved = this.parent.JSON.parse(retrieveReq.responseText).d;
EmailAddress = retrieved.results[0].EMailAddress1;
EmailAddressFinal = EmailAddressFinal.concat(EmailAddress + ";");
len = len - 1;
}
}
else {
EmailAddress = lookupItem.name;
EmailAddressFinal = EmailAddressFinal.concat(EmailAddress + ";");
len = len - 1;
}
}
else {
len = len - 1;
}
}
retrieveReqCallBack(EmailAddressFinal);
}
}
}