Ejemplo n.º 1
0
        public async Task <Unit> Handle(CreateAttachment request, CancellationToken cancellationToken)
        {
            var mail = await _dbContext.Mails.SingleOrDefaultAsync(m => m.Id == request.MailId, cancellationToken : cancellationToken);

            if (mail == null)
            {
                throw new EntityNotFoundException(request.MailId);
            }

            _domainValidator.CheckForAttachmentAdd(mail);

            var attachment = new Attachment
            {
                FileName = request.FileName,
                Data     = new AttachmentData
                {
                    Data = request.File
                }
            };

            mail.Attachments.Add(attachment);

            await _dbContext.SaveChangesAsync();

            return(Unit.Value);
        }
Ejemplo n.º 2
0
        public async Task <int> Handle(CreateMailCommand request, CancellationToken cancellationToken)
        {
            var mail = new Storage.Entities.Mail
            {
                Sender     = request.Sender ?? "*****@*****.**", // TODO get from config
                Recipients = request.Recipients,
                Subject    = request.Subject,
                Body       = request.Body,
                Status     = MailStatus.Pending,
                Priority   = Enum.Parse <MailPriority>(request.Priority)
            };

            _dbContext.Mails.Add(mail);
            await _dbContext.SaveChangesAsync(cancellationToken);

            return(mail.Id);
        }