public async Task <IActionResult> CreateMessage(ChatMessage message) { if (message == null) { return(BadRequest()); } await chatProcessor.ProcessIncomingMessage(message); return(CreatedAtRoute("GetMessage", new { id = message.Id }, message)); }
public async Task SendMessage(string author, string message) { var chatMessage = new ChatMessage { Date = DateTime.UtcNow, Message = message, Source = ApiSource.Rambler, SourceMessageId = Guid.NewGuid().ToString() }; if (!string.IsNullOrWhiteSpace(author)) { chatMessage.Author = await authorService.GetAuthors().SingleOrDefaultAsync(x => x.Name == author); } if (chatMessage.Author == null) { chatMessage.Author = await GetOrBuildAuthorFromClaims(); } await chatService.ProcessIncomingMessage(chatMessage); await chatService.ProcessOutgoingMessage(chatMessage); }