Esempio n. 1
0
        static ICollection <string> GetSendToCollection(EmailTemplateEngine.Email email, IModelEmailReceipient modelEmailReceipient)
        {
            var collection = email.To;

            if (modelEmailReceipient.EmailType != EmailType.Normal)
            {
                collection = modelEmailReceipient.EmailType == EmailType.BCC ? email.Bcc : email.CC;
            }
            return(collection);
        }
Esempio n. 2
0
        void AddReceipients(EmailRule emailRule, IModelApplicationEmail modelApplicationEmail, EmailTemplateEngine.Email email, object o)
        {
            var emailReceipientGroup = modelApplicationEmail.Email.EmailReceipients.First(
                @group => @group.GetValue <string>("Id") == emailRule.EmailReceipientsContext);

            foreach (var modelEmailReceipient in emailReceipientGroup)
            {
                var criteriaOperator = GetCriteriaOperator(modelEmailReceipient, o);
                var objects          = ObjectSpace.GetObjects(modelEmailReceipient.EmailReceipient.TypeInfo.Type, criteriaOperator);
                var sendToCollection = GetSendToCollection(email, modelEmailReceipient);
                foreach (var obj in objects)
                {
                    var item = modelEmailReceipient.EmailMember.MemberInfo.GetValue(obj) as string;
                    sendToCollection.Add(item);
                }
            }
        }