Skip to content
Snippets Groups Projects
ICourseService.cs 1.08 KiB
Newer Older
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
    {
esantangelo's avatar
esantangelo committed
        Task<ServiceResult<List<CoursePreviewDto>>> GetCoursePreviews(int userId, string userType);

        Task<ServiceResult<Course>> Create(CourseCreateDto newCourse);
esantangelo's avatar
esantangelo committed

        Task<ServiceResult<bool>> Matriculate(int userId, int courseId);

        Task<ServiceResult<bool>> AddProfessorToCourse(ProfessorCourseDto professorCourseDto);
esantangelo's avatar
esantangelo committed

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