/// <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 }); }
/// <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 }); }
/// <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 }); }