Exemplo n.º 1
0
        /// <summary>
        /// Deletes a post with a given id
        /// </summary>
        /// <param name="actualRequest">the client request to be handled</param>
        /// <returns>the response to the given request</returns>
        private async Task <ActualRequest> DeletePostAsync(ActualRequest actualRequest)
        {
            Request request = actualRequest.Request;
            int     postId  = Convert.ToInt32(request.Argument.ToString());

            Console.WriteLine("Deleting post with id " + postId);
            bool response = await postRepo.DeletePostAsync(postId);

            if (response)
            {
                ImagesUtil.DeleteFile($"{FILE_PATH}/Posts", $"{postId}.jpg");
            }

            Request responseRequest = new Request
            {
                ActionType = ActionType.POST_DELETE.ToString(),
                Argument   = JsonSerializer.Serialize(response)
            };

            return(new ActualRequest
            {
                Request = responseRequest,
                Images = null
            });
        }
Exemplo n.º 2
0
        /// <summary>
        /// Deletes a user with a given id
        /// </summary>
        /// <param name="actualRequest">the client request to be handled</param>
        /// <returns>the response to the given request</returns>
        private async Task <ActualRequest> DeleteUserAsync(ActualRequest actualRequest)
        {
            Request request = actualRequest.Request;
            int     userId  = Convert.ToInt32(request.Argument.ToString());

            Console.WriteLine("Deleting user with id " + userId);
            List <int> postIdsForUser = userRepo.GetPostIdsForUser(userId);
            bool       response       = await userRepo.DeleteUserAsync(userId);

            if (response)
            {
                ImagesUtil.DeleteUserFolder($"{FILE_PATH}/Users/{userId}");
                foreach (var postId in postIdsForUser)
                {
                    ImagesUtil.DeleteFile($"{FILE_PATH}/Posts", $"{postId}.jpg");
                }
            }

            Request responseRequest = new Request
            {
                ActionType = ActionType.USER_DELETE.ToString(),
                Argument   = JsonSerializer.Serialize(response)
            };

            return(new ActualRequest
            {
                Request = responseRequest,
                Images = null
            });
        }
Exemplo n.º 3
0
        /// <summary>
        /// Deletes a message with a given id by setting its content to null and deleting its picture
        /// </summary>
        /// <param name="actualRequest">the client request to be handled</param>
        /// <returns>the response to the given request</returns>
        private async Task <ActualRequest> DeleteMessageAsync(ActualRequest actualRequest)
        {
            Request request   = actualRequest.Request;
            int     messageId = Convert.ToInt32(request.Argument.ToString());
            bool    response  = await chatRepo.DeleteMessageAsync(messageId);

            if (response)
            {
                ImagesUtil.DeleteFile($"{FILE_PATH}/Messages", $"{messageId}.jpg");
            }

            Request responseRequest = new Request
            {
                ActionType = ActionType.MESSAGE_DELETE.ToString(),
                Argument   = JsonSerializer.Serialize(response)
            };

            return(new ActualRequest
            {
                Request = responseRequest,
                Images = null
            });
        }