public async Task SendMessageAsync(ValidationResult validationResult) { try { if (ConnectionExists()) { foreach (var validation in validationResult.Errors.Select(error => error.ErrorMessage)) { var @event = new DefaultEventModel(validation, DateTime.Now); var serializedEvent = JsonConvert.SerializeObject(@event); var message = new Message(Encoding.UTF8.GetBytes(serializedEvent)) { Label = @event.GetType().ToString().ToLower() }; message.UserProperties.Add("eventType", nameof(DefaultEventModel)); await _client.SendAsync(message); } } } catch (Exception) { throw; } }
public async Task Handle(DefaultEventModel @event) => await _notificationRepository.AddAsync(new Domain.NotificationManagement.Notification(@event.Message, @event.OccuredOn));