Esempio n. 1
0
        public EmailArchieve CreateEmail <TModel>(string from,
                                                  string tos,
                                                  string subject,
                                                  string viewName,
                                                  TModel model,
                                                  Dictionary <string, string> additionalData = null,
                                                  string fromName     = null,
                                                  string replyTo      = null,
                                                  string replyToName  = null,
                                                  string plainMessage = null,
                                                  string cc           = null,
                                                  string bcc          = null,
                                                  string activity     = null,
                                                  string linkTo       = null,
                                                  string status       = null,
                                                  string attachment   = null)
        {
            var messages = _viewRender.Render(viewName, model, additionalData);

            var email = new EmailArchieve(from, tos, subject, messages, linkTo, activity, status, attachment, DateTime.Now)
            {
                FromName    = fromName,
                Cc          = cc,
                Bcc         = bcc,
                ReplyTo     = replyTo,
                ReplyToName = replyToName,
                Activity    = activity,
                LinkTo      = linkTo,
                Status      = status,
                Attachment  = attachment
            };

            if (string.IsNullOrEmpty(email.FromName))
            {
                email.FromName = _config.GetConfig("smtp.from.name");
            }

            var hasPlainText = !string.IsNullOrWhiteSpace(plainMessage);

            if (hasPlainText)
            {
                email.PlainMessage = plainMessage;
            }

            var result = _emailArchieveService.Add(email);

            return(result);
        }