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));
        }
Exemplo n.º 2
0
        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(); }
            }
        }
Exemplo n.º 3
0
 public async Task <MessageDto> WriteMessage(WriteMessageDto messageDto)
 {
     return(await Connector.SendPost <WriteMessageDto, MessageDto>(
                ServerUrl + WRITE_MESSAGE_ENDPOINT, messageDto
                ));
 }