diff --git a/Tsi1.Api/Tsi1.Api/Controllers/CourseController.cs b/Tsi1.Api/Tsi1.Api/Controllers/CourseController.cs
index 540ab08af66615f623811fa0d894ac7cb00aaea7..d65d1f94dc4d1e266f65dfceffa7f050518356ca 100644
--- a/Tsi1.Api/Tsi1.Api/Controllers/CourseController.cs
+++ b/Tsi1.Api/Tsi1.Api/Controllers/CourseController.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.IO;
 using System.Linq;
 using System.Security.Claims;
 using System.Threading.Tasks;
@@ -19,9 +20,12 @@ namespace Tsi1.Api.Controllers
     {
         private readonly ICourseService _courseService;
 
-        public CourseController(ICourseService courseService)
+        private readonly IFileService _fileService;
+
+        public CourseController(ICourseService courseService, IFileService fileService)
         {
             _courseService = courseService;
+            _fileService = fileService;
         }
 
         [Authorize(Roles = UserTypes.Student + ", " + UserTypes.Professor)]
@@ -54,6 +58,10 @@ namespace Tsi1.Api.Controllers
                 return BadRequest(result.Message);
             }
 
+            var path = Path.Combine(tenantId.ToString(), result.Data.Id.ToString());
+
+            _fileService.CreateFolder(path);
+
             return Ok();
         }
 
@@ -197,11 +205,15 @@ namespace Tsi1.Api.Controllers
                 return BadRequest(result.Message);
             }
 
-            if (result.Data == false)
+            if (result.Data == null)
             {
                 return NotFound(result.Message);
             }
 
+            var path = Path.Combine(result.Data.TenantId.ToString(), result.Data.Id.ToString());
+
+            _fileService.DeleteFolder(path);
+
             return Ok();
         }
 
diff --git a/Tsi1.Api/Tsi1.Api/Controllers/TenantController.cs b/Tsi1.Api/Tsi1.Api/Controllers/TenantController.cs
index 738bc5b34acb2810373bc8ac6902096ef52bb9bb..8b4373aca7795d7fb930d12ff41d1a2caf36babe 100644
--- a/Tsi1.Api/Tsi1.Api/Controllers/TenantController.cs
+++ b/Tsi1.Api/Tsi1.Api/Controllers/TenantController.cs
@@ -17,9 +17,12 @@ namespace Tsi1.Api.Controllers
     {
         private readonly ITenantService _tenantService;
 
-        public TenantController(ITenantService tenantService)
+        private readonly IFileService _fileService;
+
+        public TenantController(ITenantService tenantService, IFileService fileService)
         {
             _tenantService = tenantService;
+            _fileService = fileService;
         }
 
         [Authorize(Roles = UserTypes.UdelarAdmin)]
@@ -47,6 +50,8 @@ namespace Tsi1.Api.Controllers
                 return BadRequest(result.Message);
             }
 
+            _fileService.CreateFolder(result.Data.Id.ToString());
+
             return Ok(result.Data);
         }
 
@@ -85,6 +90,8 @@ namespace Tsi1.Api.Controllers
                 return NotFound(result.Message);
             }
 
+            _fileService.DeleteFolder(tenantId.ToString());
+
             return Ok();
         }
     }
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Helpers/MappingProfile.cs b/Tsi1.Api/Tsi1.BusinessLayer/Helpers/MappingProfile.cs
index df85a721b67cacb1cbfc1f423a2d0286d76e5e4e..9e1822f19be6d557dff520dc4536b3c11df1e53f 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Helpers/MappingProfile.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Helpers/MappingProfile.cs
@@ -45,7 +45,7 @@ namespace Tsi1.BusinessLayer.Helpers
             CreateMap<UserModifyDto, User>();
             CreateMap<StudentPreviewDto, Student>();
             CreateMap<ProfessorPreviewDto, Professor>();
-            CreateMap<CourseCreateDto, Course>().ForMember(x => x.TenantId, opt => opt.Ignore());
+            CreateMap<CourseCreateDto, Course>();
             CreateMap<CoursePreviewDto, Course>();
             CreateMap<TenantPreviewDto, Tenant>();
             CreateMap<TenantCreateDto, Tenant>();
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ICourseService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ICourseService.cs
index 885c3b3729b3a210b70990a747f1e808d6460d30..f13641f98f895d1f846b25bda95135e3a6b5be64 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ICourseService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ICourseService.cs
@@ -22,7 +22,7 @@ namespace Tsi1.BusinessLayer.Interfaces
 
         Task<ServiceResult<bool>> Modify(int courseId, CourseCreateDto courseDto);
 
-        Task<ServiceResult<bool>> Delete(int courseId);
+        Task<ServiceResult<Course>> Delete(int courseId);
 
         Task<ServiceResult<bool>> DropOutFromCourse(int userId, int courseId);
 
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IFileService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IFileService.cs
index 594623d0c22e18ee27be1636c9777750c92ff250..ed40c63c0475e9afba76a325a687569104ea86d7 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IFileService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IFileService.cs
@@ -10,8 +10,10 @@ namespace Tsi1.BusinessLayer.Interfaces
 {
     public interface IFileService
     {
-        //Task<ServiceResult<FileDto>> SaveFile(IFormFile file);
-
         Task<ServiceResult<FileDto>> Create(IFormFile file, int tenantId, int courseId);
+
+        void CreateFolder(string folderPath);
+
+        void DeleteFolder(string folderPath);
     }
 }
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ITenantService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ITenantService.cs
index ea42bbcb4fa8850ad5a0e458dec57fd3608704b0..a54ceb12faeba753c7ca67f8bbda3bb27c0ded54 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ITenantService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ITenantService.cs
@@ -11,6 +11,8 @@ namespace Tsi1.BusinessLayer.Interfaces
     {
         Task<ServiceResult<int>> GetByName(string tenantName);
 
+        Task<ServiceResult<int>> GetById(int tenantId);
+
         Task<ServiceResult<List<TenantPreviewDto>>> GetAll();
 
         Task<ServiceResult<TenantPreviewDto>> Create(TenantCreateDto newTenant);
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Services/CourseService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Services/CourseService.cs
index e385562b0bbb4c2986dfe06bd602e40860faa8ce..6930b541c7218a1262f4c772951d1d29ef787be3 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Services/CourseService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Services/CourseService.cs
@@ -41,7 +41,7 @@ namespace Tsi1.BusinessLayer.Services
             }
 
             var course = _mapper.Map<Course>(newCourse);
-                
+
             _context.Courses.Add(course);
 
             await _context.SaveChangesAsync();
@@ -219,9 +219,9 @@ namespace Tsi1.BusinessLayer.Services
             return result;
         }
 
-        public async Task<ServiceResult<bool>> Delete(int courseId)
+        public async Task<ServiceResult<Course>> Delete(int courseId)
         {
-            var result = new ServiceResult<bool>();
+            var result = new ServiceResult<Course>();
 
             var course = await _context.Courses
                 .FirstOrDefaultAsync(x => x.Id == courseId);
@@ -236,7 +236,7 @@ namespace Tsi1.BusinessLayer.Services
 
             await _context.SaveChangesAsync();
 
-            result.Data = true;
+            result.Data = course;
 
             return result;
         }
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Services/FileService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Services/FileService.cs
index 5e7fcd662caf3d89f21273a38e9908785d60750e..315250148761311cbd020f1da7863798800a7793 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Services/FileService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Services/FileService.cs
@@ -121,5 +121,19 @@ namespace Tsi1.BusinessLayer.Services
 
             return result;
         }
+
+        public void CreateFolder(string folderPath)
+        {
+            var path = Path.Combine(_path, folderPath);
+
+            Directory.CreateDirectory(path);
+        }
+
+        public void DeleteFolder(string folderPath)
+        {
+            var path = Path.Combine(_path, folderPath);
+
+            Directory.Delete(path);
+        }
     }
 }
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Services/TenantService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Services/TenantService.cs
index 8f629676d9123978260602c3892aba1ce68e2c6d..d749ea887b6b46b53f3759e5d1c0d1fa9b9441f7 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Services/TenantService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Services/TenantService.cs
@@ -122,5 +122,24 @@ namespace Tsi1.BusinessLayer.Services
 
             return result;
         }
+
+        public async Task<ServiceResult<int>> GetById(int tenantId)
+        {
+            var result = new ServiceResult<int>();
+
+            var tenant = await _context.Tenants
+                .FirstOrDefaultAsync(x => x.Id == tenantId);
+
+            if (tenant == null)
+            {
+                result.HasError = true;
+                result.Message = string.Format(ErrorMessages.TenantDoesNotExist, tenantId);
+                return result;
+            }
+
+            result.Data = tenant.Id;
+
+            return result;
+        }
     }
 }