public static EmailSendRequest Convert(EmailSendRequestRaw request)
        {
            JObject content         = new JObject();
            JObject personalContent = new JObject();

            bool hasContent         = request.Content != null;
            bool hasPersonalContent = request.PersonalContent != null;

            if (hasContent)
            {
                content = JObject.Parse(request.Content);
            }

            if (hasPersonalContent)
            {
                personalContent = JObject.Parse(request.PersonalContent);
            }

            return(new EmailSendRequest()
            {
                To = request.To,
                Template = request.Template,
                Content = content,
                PersonalContent = personalContent
            });
        }
        public async Task <IActionResult> Get([FromQuery] EmailSendRequestRaw request)
        {
            EmailSendRequest sendRequest = EmailSendRequestFactory.Convert(request);

            OkObjectResult actionResult = await Post(sendRequest) as OkObjectResult;

            EmailPreviewResponse previewResponse = (EmailPreviewResponse)actionResult.Value;

            return(new ContentResult()
            {
                Content = previewResponse.Preview,
                ContentType = "text/html",
                StatusCode = 200
            });
        }