private async Task <bool> PushMessageToEventProcessorSaga(string message, string channelId, CommandSendMessageProperties consumerMessageProperties, ChatReportModel chatReport) { try { if (_serviceBus != null || _serviceBus.BusAccess != null) { _logger.LogDebug($"EdisonBot: Pushing message from user '{consumerMessageProperties.From.Id}'."); //Get deviceId string userId = GetDatabaseUserId(channelId, consumerMessageProperties.UserId); DeviceModel device = await _deviceRestService.GetMobileDeviceFromUserId(userId); //Get last reportType Guid?reportType = consumerMessageProperties.ReportType; if (consumerMessageProperties.ReportType == null || consumerMessageProperties.ReportType == Guid.Empty) { reportType = await GetLastReportTypeFromUser(consumerMessageProperties.UserId); } if (device != null) { IEventSagaReceived newMessage = new EventSagaReceivedEvent() { DeviceId = device.DeviceId, EventType = "message", Date = DateTime.UtcNow, Data = JsonConvert.SerializeObject(new MessageEventMetadata() { UserId = consumerMessageProperties.UserId, Username = consumerMessageProperties.From.Name, ReportType = reportType, Message = message, ChatReportId = chatReport.ReportId }) }; await _serviceBus.BusAccess.Publish(newMessage); return(true); } } return(false); } catch (Exception e) { _logger.LogError($"EdisonBot: {e.Message}"); return(false); } }
private async Task <bool> PushMessageToEventProcessorSaga(string deviceId, string eventType, DateTime date, string body) { try { _logger.LogDebug($"MessageDispatcherService.PushMessageToEventProcessorSaga: Pushing message for device '{deviceId}', device type '{eventType}'."); IEventSagaReceived newMessage = new EventSagaReceivedEvent() { DeviceId = new Guid(deviceId), EventType = eventType, Date = date, Data = body }; await _serviceBus.BusAccess.Publish(newMessage); } catch (Exception e) { _logger.LogError($"MessageDispatcherService.PushMessageToEventProcessorSaga: {e.Message}"); return(false); } return(true); }