コード例 #1
0
        private void SendMail(string body, ICollaborationDTO item)
        {
            var dto = new MailDTO();

            dto.Mailbox = new MailboxDTO {
                TypeName = "DSWMessage"
            };
            dto.Sender  = new ContactDTO(Parameters.MailSender);
            dto.Body    = body;
            dto.Subject = Parameters.MailSubject;

            if (Parameters.CreateEmailForEachRecipient)
            {
                var recipients = GetRecipients(item);
                foreach (var recipient in recipients)
                {
                    Array.Clear(dto.Recipients, 0, dto.Recipients.Length);
                    dto.AddRecipient(recipient);
                    MailConnector.Send(dto);
                }
            }
            else
            {
                var recipients = GetRecipients(item);
                dto.AddRecipients(recipients);
                MailConnector.Send(dto);
            }
        }
コード例 #2
0
        private IEnumerable <IContactDTO> GetRecipients(ICollaborationDTO item)
        {
            var list = new List <IContactDTO>();

            list.Add(item.Signer);
            if (Parameters.SendToProposer)
            {
                if (item.Proposer != null)
                {
                    if (!list.Any(x => x.EmailAddress.Eq(item.Proposer.EmailAddress)))
                    {
                        list.Add(item.Proposer);
                    }
                }
            }
            if (!Parameters.SendToSecretaries || item.Secretaries == null)
            {
                return(list);
            }
            foreach (var s in item.Secretaries.Where(s => !list.Any(x => x.EmailAddress.Eq(s.EmailAddress))))
            {
                list.Add(s);
            }

            return(list);
        }