public async Task <FolderResponse> DeleteAsync(int id) { var existingFolder = await _folderRepository.FindByIdAsync(id); if (existingFolder == null) { return(new FolderResponse("folder not found.")); } try { _folderRepository.Remove(existingFolder); await _unitOfWork.CompleteAsync(); return(new FolderResponse(existingFolder)); } catch (Exception ex) { _logger?.LogCritical("There was an error on '{0}' invocation: {1}", nameof(DeleteAsync), ex); // Do some logging stuff return(new FolderResponse($"An error occurred when deleting the folder: {ex.Message}")); } }