示例#1
0
 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;
     }
 }
示例#2
0
        /// <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}");
        }
示例#3
0
 public IActionResult NotifyUserAboutInvalidDistributionEndpoint([FromBody] DistributionEndpointMessageDto message)
 {
     _messageService.SendMessageToUser(message);
     return(Ok(message));
 }