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()); }
public async Task <Result> Create([FromBody] SendFeedbackRequestDto sendFeedbackRequestDto) => await _feedbackService.SendFeedback(sendFeedbackRequestDto, Request.Headers["User-Agent"].ToString());