public async Task SaveMessage(ChatRoomMessageHubDto message) { int chatRoomId = _chatRoomRepo .Where(x => x.ChatRoomCode == message.ChatRoomCode) .FirstOrDefault().Id; _messageRepo.Add(new ChatRoomMessage { Message = message.Message, MessageFromUser = message.User, MessageTime = DateTime.Now, ChatRoomId = chatRoomId }); await _uow.Commit(); }
public async Task <ChatRoomMessageResponseHubDto> ProcessMessage(ChatRoomMessageHubDto hubMessage) { var response = new ChatRoomMessageResponseHubDto(); if (isBotCommand(hubMessage.Message)) { var command = hubMessage.Message.Split("="); switch (command[0]) { case BotCommands.StockCommand: var param = command[1]; try { await _bus.Send(new RequestStockCSV { Id = Guid.NewGuid().ToString(), Stock = param, ChatRoomId = hubMessage.ChatRoomCode }); } catch (Exception ex) { response = CreateBotMessage(hubMessage.ChatRoomCode, "Ups, looks like my service is not running. Try again later :c"); break; } response = CreateBotMessage(hubMessage.ChatRoomCode, "Hello, In a moment you will receive the requested stock information."); break; default: Console.WriteLine("Handle unknow commands here"); response = CreateBotMessage(hubMessage.ChatRoomCode, "Sorry I could not understand the command. :c"); break; } } else { await _chatMessageService.SaveMessage(hubMessage).ConfigureAwait(false); response.ChatRoomId = hubMessage.ChatRoomCode; response.Sender = hubMessage.User; response.Message = hubMessage.Message; response.MessageDate = DateTime.Now; } return(response); }
public ChatRoomMessageResponseHubDto ProcessMessage(ChatRoomMessageHubDto message) { throw new NotImplementedException(); }