![]() |
#11 |
Участник
|
Цитата:
Код: public override void Execute() { Entity record = crmService.Retrieve(TargetEntity.LogicalName, TargetEntity.Id, new ColumnSet("subject", "regardingobjectid")); if (TargetEntity.Contains("regardingobjectid")) { string uniq = ""; int uniqLength = 1024; if (executionContext.MessageName == MessageName.Update) { record = crmService.Retrieve(TargetEntity.LogicalName, TargetEntity.Id, new ColumnSet("subject", "regardingobjectid")); } else { record = TargetEntity; } if (record.Contains("regardingobjectid")) { uniq = record.GetAttributeValue<EntityReference>("regardingobjectid").Name; RetrieveEntityRequest rerq = new RetrieveEntityRequest { LogicalName = record.GetAttributeValue<EntityReference>("regardingobjectid").LogicalName, RetrieveAsIfPublished = true }; RetrieveEntityResponse rers = (RetrieveEntityResponse)crmService.Execute(rerq); uniq = rers.EntityMetadata.DisplayName.UserLocalizedLabel.Label + " " + "[" + uniq + "]"; } if (!record.Contains("subject") || record["subject"].ToString() != uniq) { uniq = string.Format("{0}", uniq.Length > uniqLength ? (uniq.Substring(0, uniqLength - 3) + "...") : uniq); record["subject"] = uniq; if (executionContext.MessageName == MessageName.Update) { crmService.Update(record); } } } } |
|