using LSFE.MobApp.DTO.DoctorDto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LSFE.MobApp.Contracts.Doctor
{
    public interface IDoctorService
    {
        Task<List<Entities.Doctor.Doctor>> GetAllDoctorsAsync();
        Task<List<Entities.Doctor.Doctor>> GetActiveDoctorsAsync();
        Task<List<DoctorWithInstitution>> GetDoctorsWithInstitutionsAsync();
        Task<List<Entities.Doctor.Doctor>> GetDoctorsByInstitutionAsync(int institutionId);
        Task<List<Entities.Doctor.Doctor>> GetDoctorsBySpecializationAsync(string specialization);
        Task<List<DoctorWithInstitution>> GetDoctorsByTerritoryAsync(int territoryId);
        Task<int> GetDoctorCountByInstitutionAsync(int institutionId);
    }
}
