コード例 #1
0
        public async Task <ContentResult> GetHtml(int id)
        {
            var partMessage = new GetEmailTemplatePartsQuery {
                EmailTemplateId = id
            };
            var emailTemplatePartDtos = await _queryExecutor.ExecuteAsync <GetEmailTemplatePartsQuery, EmailTemplatePartDto>(partMessage);

            var sb = new StringBuilder();

            emailTemplatePartDtos.Each(part =>
            {
                switch (part.PartType)
                {
                case PartType.Html:
                    sb.Append(part.Html);
                    break;

                case PartType.Variable:
                    sb.Append(part.VariableValue);
                    break;

                default:
                    throw new EmailMakerException("Unknown part type:" + part.PartType);
                }
            });
            return(Content(sb.ToString(), "text/html"));
        }
コード例 #2
0
        private async Task <EmailTemplateDto> _GetEmailTemplate(int id)
        {
            var templateMessage = new GetEmailTemplateQuery {
                EmailTemplateId = id
            };
            var templatePartMessage = new GetEmailTemplatePartsQuery {
                EmailTemplateId = id
            };

            var emailTemplateDtos = await _queryExecutor.ExecuteAsync <GetEmailTemplateQuery, EmailTemplateDto>(templateMessage);

            var emailTemplatePartDtos = await _queryExecutor.ExecuteAsync <GetEmailTemplatePartsQuery, EmailTemplatePartDto>(templatePartMessage);

            var emailTemplateDto = emailTemplateDtos.Single();

            emailTemplateDto.Parts = emailTemplatePartDtos;

            return(emailTemplateDto);
        }