private void DebugMode(DistributionEndpointMessageDto message) { try { if (_configuration.GetValue <bool>("DebugModeEndpointTest")) { var emailAddress = _configuration.GetValue <string>("EndpointTestEmailAddress"); Guard.IsValidEmail(emailAddress); message.UserEmail = emailAddress; } } catch (System.Exception ex) { throw ex; } }
/// <summary> /// Used to notify user about invalid distribution endpoint /// </summary> /// <param name="message">message contain message text, email address and other information required to send email</param> public void SendMessageToUser(DistributionEndpointMessageDto message) { Guard.IsNotNull(message); Guard.IsValidEmail(message.UserEmail); DebugMode(message); var messageTemplate = _messageTemplateService.GetOne(MessageType.InvalidDistributionEndpointTargetUri); var user = _userService.GetOne(u => u.EmailAddress.Equals(message.UserEmail), nameof(User.MessageConfig)); var subject = messageTemplate.Subject .Replace("%COLID_LABEL%", message.ResourceLabel); var body = messageTemplate.Body .Replace("%COLID_PID_URI%", message.ColidEntryPidUri) .Replace("%DISTRIBUTION_ENDPOINT%", message.DistributionEndpoint.ToString()) .Replace("%COLID_LABEL%", message.ResourceLabel); var messageForUser = CreateMessageDto(user.MessageConfig, subject, body); messageForUser.AdditionalInfo = string.Format("DistributionEndpoint: {0}", message.DistributionEndpointPidUri); _userService.AddMessage(user.Id, messageForUser); _logger.LogInformation($"Message added in the message list for {message.DistributionEndpointPidUri}"); }
public IActionResult NotifyUserAboutInvalidDistributionEndpoint([FromBody] DistributionEndpointMessageDto message) { _messageService.SendMessageToUser(message); return(Ok(message)); }