public async Task UpdateEmailState(int id, DateTimeOffset sendOn) { EmailModel email = await RetrieveEmailFromDb(id); email.State = EmailStateEnum.Send; email.SendOn = sendOn; await _dbContext.SaveChangesAsync(); }
private ICollection <Recipient> CreateEmailRecipients(EmailModel email, ICollection <string> recipientList) { var recipients = new List <Recipient>(recipientList.Count); recipients.AddRange(recipientList.Select(recipientEmail => new Recipient { Email = email, EmailAddress = recipientEmail, })); return(recipients); }
public async Task <EmailDto> UpdateEmail(int id, EmailDto data) { _ = data ?? throw new ValidationException("Email data is empty"); if (data.Id != id) { throw new ValidationException("Invalid email id value"); } ValidateEmailRecipients(data.Recipients); EmailModel email = await RetrieveEmailFromDb(id); email.Content = data.Content; email.Subject = data.Subject; email.Recipients = CreateEmailRecipients(email, data.Recipients); await _dbContext.SaveChangesAsync(); return(_mapper.Map <EmailDto>(email)); }