Example #1
0
        public void SendRequestResponceEmail(int requestId, int languageId)
        {
            var request  = _requestService.GetRequestById(requestId);
            var template = _messageTemplateService.GetMessageTemplateByName("RequestAccept");

            template.Subject = template.GetLocalized(x => x.Subject, languageId, false, false);
            template.Body    = template.GetLocalized(x => x.Body, languageId, false, false);
            //template
            var tokens = new List <Token>();

            _messageTokenProvider.AddProductTokens(tokens, _productService.GetProductById(request.ProductId), languageId);
            _messageTokenProvider.AddStoreTokens(tokens);
            _messageTokenProvider.AddRequestReqsponceTokens(tokens, request, languageId);
            string subject = _tokenizer.Replace(template.Subject, tokens, true);
            string body    = _tokenizer.Replace(template.Body, tokens, true);

            string email        = request.Customer.Email;
            var    emailAccount = _emailAccountService.GetEmailAccountById(_emailAccountSettings.DefaultEmailAccountId);
            var    from         = new MailAddress(emailAccount.Email, emailAccount.DisplayName);
            var    to           = new MailAddress(email);

            _emailSender.SendEmail(emailAccount, subject, body, from, to);
        }