Esempio n. 1
0
        /// <summary>
        /// Returns a list with recent messages between 2 given users
        /// </summary>
        /// <param name="actualRequest">the client request to be handled</param>
        /// <returns>the response to the given request</returns>
        private ActualRequest GetConversationForUsers(ActualRequest actualRequest)
        {
            List <int> integers = JsonSerializer.Deserialize <List <int> >(actualRequest.Request.Argument.ToString());
            List <MessageSocketsModel> messages = chatRepo.GetConversationForUsers(integers[0], integers[1], integers[2]);
            Request response = new Request
            {
                ActionType = ActionType.MESSAGE_GET_CONVERSATION.ToString(),
                Argument   = JsonSerializer.Serialize(messages)
            };
            List <byte[]> messageImages = new List <byte[]>();

            if (messages != null && messages.Count > 0)
            {
                foreach (var message in messages)
                {
                    if (message.HasImage)
                    {
                        try {
                            var readImageFile = File.ReadAllBytes($"{FILE_PATH}/Messages/{message.Id}.jpg");
                            messageImages.Add(readImageFile);
                        }
                        catch (Exception e) {
                            Console.WriteLine("No picture found for message " + message.Id);
                        }
                    }
                }
            }
            return(new ActualRequest
            {
                Request = response,
                Images = messageImages
            });
        }