コード例 #1
0
        public MailDto Save([FromBody] InputMailDto mailDto)
        {
            var isUpdatePassword = (mailDto.Id != 0 && !string.IsNullOrEmpty(mailDto.Password)) ||
                                   mailDto.Id == 0;

            var secret            = configuration.GetValue <string>("PasswordSecret");
            var encryptedPassword = encryption.Encrypt(mailDto.Password, secret);

            var mail = new Mail
            {
                Id           = mailDto.Id,
                EmailAddress = mailDto.EmailAddress,
                EnableSsl    = mailDto.EnableSsl,
                Host         = mailDto.Host,
                Name         = mailDto.Name,
                Password     = isUpdatePassword ? encryptedPassword : string.Empty,
                Port         = mailDto.Port,
                UserId       = user.Id
            };

            context.Update(mail);
            context.Entry(mail).Property(x => x.Password).IsModified = isUpdatePassword;
            context.SaveChanges();

            return(new MailDto
            {
                Id = mail.Id,
                EmailAddress = mail.EmailAddress,
                EnableSsl = mail.EnableSsl,
                Host = mail.Host,
                Name = mail.Name,
                Port = mail.Port
            });
        }
コード例 #2
0
        public MailOutputDto Save([FromBody] MailDto mailDto)
        {
            var setPassword = (mailDto.Id != 0 && !string.IsNullOrEmpty(mailDto.Password)) ||
                              mailDto.Id == 0;
            var secret = Guid.NewGuid().ToString();
            var mail   = new Mail
            {
                Id           = mailDto.Id,
                EmailAddress = mailDto.EmailAddress,
                EnableSsl    = mailDto.EnableSsl,
                Host         = mailDto.Host,
                Name         = mailDto.Name,
                Password     = setPassword ? encryption.Encrypt(mailDto.Password, secret) : string.Empty,
                Port         = mailDto.Port,
                UserId       = user.Id
            };

            context.Update(mail);
            context.Entry(mail).Property(x => x.Password).IsModified = setPassword;
            context.SaveChanges();

            return(new MailOutputDto
            {
                Id = mail.Id,
                EmailAddress = mail.EmailAddress,
                EnableSsl = mail.EnableSsl,
                Host = mail.Host,
                Name = mail.Name,
                Password = mailDto.Password,
                Port = mail.Port,
                Secret = setPassword ? secret : null
            });
        }
コード例 #3
0
        public TemplateDto Save([FromBody] TemplateDto templateDto)
        {
            Template template = new Template
            {
                Id          = templateDto.Id,
                Content     = templateDto.Content,
                Description = templateDto.Description,
                IsHtml      = templateDto.IsHtml,
                Name        = templateDto.Name,
                Subject     = templateDto.Subject,
                MailId      = templateDto.MailId,
                UserId      = user.Id
            };

            context.Update(template);
            context.SaveChanges();

            templateDto.Id = template.Id;

            return(templateDto);
        }