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);
            }
        }
コード例 #2
0
            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;
                }
            }