public async Task <bool> Handle(SaveEmailCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(false); } var email = await _emailRepository.GetByType(request.Type); if (email == null) { email = request.ToModel(); _emailRepository.Add(email); } else { email.Update(request); _emailRepository.Update(email); } if (await Commit()) { await Bus.RaiseEvent(new EmailSavedEvent(email)); return(true); } return(false); }
public void Update(SaveEmailCommand request) { Subject = request.Subject; Content = request.Content; if (request.Bcc != null && request.Bcc.IsValid()) { Bcc = request.Bcc; } if (request.Sender != null && request.Sender.IsValid()) { Sender = request.Sender; } UserName = request.Username; Updated = DateTime.UtcNow; }