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); } }
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); }