public HttpResponseMessage Write([FromBody] WriteMessageDto messageDto) { return(ProtectedExecuteAndWrapResult(() => { Chat chat = GetChatByName(messageDto.ChatName); Member sender = GetChatMemberByName(chat, messageDto.SenderName); if (sender == null) { throw new NotFoundException("chat member"); } ICollection <EncodedMessageText> messageTable = new List <EncodedMessageText>(); foreach (EncodedMessageDto message in messageDto.MessageTable) { Member reciever = GetChatMemberByName(chat, message.RecieverName); if (reciever == null) { continue; } messageTable.Add(new EncodedMessageText(message.EncodedText, reciever)); } Message result = new Message(messageTable, sender, DateTime.Now); chat.Messages.Add(result); return GetMessageEncodedForSpecifiedUser(sender, result); }, messageDto)); }
public static async Task WriteMessageAsync() { Console.Write("Enter your message: "); string message = Console.ReadLine(); await UpdateCurrentChat(); WriteMessageDto writeMessage = EncodeMessage(message, CURRENT_CHAT); if (writeMessage == null) { Console.WriteLine("Failed to write a message. Try again."); await WriteMessageAsync(); } else { try { await ExecuteProtected(async() => { MessageDto messageDto = await CHAT_CLIENT.WriteMessage(writeMessage); Console.WriteLine("\nMessage sent!\n\n"); await UpdateCurrentChat(); DrawChat(CURRENT_CHAT); }, true); } catch (Exception e) { Console.WriteLine($"{e.Message}\n"); PrintChatMenu(); } } }
public async Task <MessageDto> WriteMessage(WriteMessageDto messageDto) { return(await Connector.SendPost <WriteMessageDto, MessageDto>( ServerUrl + WRITE_MESSAGE_ENDPOINT, messageDto )); }