Пример #1
0
        public async Task <Result> SendFeedback(SendFeedbackRequestDto sendFeedbackRequest, string userAgent)
        {
            var assemblyName = Assembly.GetExecutingAssembly().GetName();
            var version      = assemblyName.Version;

            if (!sendFeedbackRequest.IncludeContactDetails)
            {
                var anonymousFeedback = $@"<p>An anonymous user has sent the following feedback:</p><hr/>
                    <p>{HtmlEncoder.Default.Encode(sendFeedbackRequest.Message)}</p>
                    <p>Browser used: {userAgent}</p>
                    <p>Nyss platform version: {version}</p>
                    <p>Date: {_dateTimeProvider.UtcNow:O}</p>";

                await _emailPublisherService.SendEmail((_config.FeedbackReceiverEmail, null), "Feedback from user of Nyss platform", body : anonymousFeedback);

                return(Result.Success());
            }

            var currentUser = _authorizationService.GetCurrentUser();

            var feedback = $@"<p>{currentUser.Name} has sent the following feedback:</p><hr/>
                <p>{HtmlEncoder.Default.Encode(sendFeedbackRequest.Message)}</p>
                <p>User's email: {currentUser.EmailAddress}</p>
                <p>User's phone: {currentUser.PhoneNumber}</p>
                <p>Browser used: {userAgent}</p>
                <p>Nyss platform version: {version}</p>
                <p>Date: {_dateTimeProvider.UtcNow:O}</p>";

            await _emailPublisherService.SendEmail((_config.FeedbackReceiverEmail, null), $"Feedback from user {currentUser.Name} about the Nyss platform", body : feedback);

            return(Result.Success());
        }
Пример #2
0
 public async Task <Result> Create([FromBody] SendFeedbackRequestDto sendFeedbackRequestDto) =>
 await _feedbackService.SendFeedback(sendFeedbackRequestDto, Request.Headers["User-Agent"].ToString());