protected virtual void FillRecepientActivityField(Activity activity, Guid recordId, string schemaName) { var contactEsq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, schemaName); string contactIdName = contactEsq.AddColumn("Contact.Id").Name; string emailColumnName = contactEsq.AddColumn("Contact.Email").Name; string emailTitleColumnName = contactEsq.AddColumn("ParentActivity.Title").Name; string emailSenderColumnName = contactEsq.AddColumn("ParentActivity.Sender").Name; string emailRecipientColumnName = contactEsq.AddColumn("ParentActivity.Recepient").Name; string emailCcColumnName = contactEsq.AddColumn("ParentActivity.CopyRecepient").Name; string emailBlindCopyColumnName = contactEsq.AddColumn("ParentActivity.BlindCopyRecepient").Name; var contact = contactEsq.GetEntity(UserConnection, recordId); if (contact != null) { Guid contactId = contact.GetTypedColumnValue <Guid>(contactIdName); activity.SetColumnValue("ContactId", contactId); string contactEmail = contact.GetTypedColumnValue <string>(emailSenderColumnName); if (contactEmail.IsNullOrEmpty()) { contactEmail = contact.GetTypedColumnValue <string>(emailColumnName).IsNullOrEmpty() ? ContactUtilities.GetLastAddContactEmail(UserConnection, contact.GetTypedColumnValue <Guid>(contactIdName)) : contact.GetTypedColumnValue <string>(emailColumnName); } activity.SetColumnValue("Recepient", contactEmail); string title = contact.GetTypedColumnValue <string>(emailTitleColumnName); activity.SetColumnValue("Title", title); string recipient = contact.GetTypedColumnValue <string>(emailRecipientColumnName); string copyRecipient = contact.GetTypedColumnValue <string>(emailCcColumnName); string blindCopyRecipient = contact.GetTypedColumnValue <string>(emailBlindCopyColumnName); activity.SetColumnValue("CopyRecepient", copyRecipient); string recipients = recipient + ";" + copyRecipient + ";" + blindCopyRecipient; EmailSender = EmailSenderObtainerWrapper.GetSupportMailBox(recipients, contactId); } }
public void PickUpContactEmail(string contactEmail, UserConnection userConnection) { ContactEmail = contactEmail; if (ContactEmail.IsNullOrEmpty()) { ContactEmail = ContactUtilities.GetLastAddContactEmail(userConnection, ContactId); } bool notifyOnlyContact = SystemSettings.GetValue(userConnection, "AutoNotifyOnlyContact", false); if (ContactEmail.IsNullOrEmpty() && !notifyOnlyContact) { ContactEmail = ParentActivitySender; } }