/// <summary> /// creates a new message in the database /// </summary> /// <param name="message"></param> /// <returns></returns> internal async Task SaveMessage(ChatMessageVm message) { var dbMessage = message.ToDbMessage(); dbContext.ChatMessages.Add(dbMessage); await dbContext.SaveChangesAsync(); message.Index = dbMessage.Id; }
public async Task <IActionResult> SendMessage([FromBody] ChatMessageVm message) { if (message == null || string.IsNullOrWhiteSpace(message.Message) || string.IsNullOrWhiteSpace(message.FromUser) || string.IsNullOrWhiteSpace(message.ToUser) ) { return(BadRequest()); } await repository.SaveMessage(message); await messageSender.SendMessage(message.ToPublicMessage()); return(Ok()); }
public async Task SendMessage(ChatMessageVm message) { if (message == null || string.IsNullOrWhiteSpace(message.Message) || string.IsNullOrWhiteSpace(message.FromUser) || string.IsNullOrWhiteSpace(message.ToUser) ) { logger.LogInformation("Bad request arrived"); return; } await repository.SaveMessage(message); await messageSender.SendMessage(message.ToPublicMessage()); logger.LogInformation("Request is processed Ok"); }
public async void Send(string userId, ChatMessageVm chatMessageVm) { await Clients.User(userId).SendAsync("send", chatMessageVm); }
public async Task <IActionResult> AddMessage([FromBody] ChatMessageVm chatMessageVm) => Ok(await _chatService.AddMessage(chatMessageVm));