using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using Tsi1.BusinessLayer.Dtos; using Tsi1.BusinessLayer.Helpers; using Tsi1.DataLayer.Entities; namespace Tsi1.BusinessLayer.Interfaces { public interface ICourseService { Task<ServiceResult<List<CoursePreviewDto>>> GetCoursePreviews(int userId, string userType); Task<ServiceResult<Course>> Create(CourseCreateDto newCourse); Task<ServiceResult<bool>> Matriculate(int userId, int courseId); Task<ServiceResult<bool>> AddProfessorToCourse(ProfessorCourseDto professorCourseDto); Task<ServiceResult<List<CoursePreviewDto>>> GetAll(int tenantId); Task<ServiceResult<bool>> Modify(int courseId, CourseCreateDto courseDto); Task<ServiceResult<Course>> Delete(int courseId); Task<ServiceResult<bool>> DropOutFromCourse(int userId, int courseId); Task<ServiceResult<bool>> RemoveProfessorToCourse(ProfessorCourseDto professorCourseDto); Task<ServiceResult<List<UserPreviewDto>>> GetProfessors(int courseId); } }