using LSFE.Infrastructure.Dto.Doctor;
using LSFE.Infrastructure.Entities.Doctor;
using LSFE.Infrastructure.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace LSFE.Domain.Contracts.Doctor
{
    public interface IDoctorRepo
    {
        Task<Response> SoftDeleteAsync(int doctorId);
        Task<List<DoctorDto>> GetDoctor(DoctorDto dto);
        Task<List<DoctorDto>> GetMyDoctor(DoctorDto dto);
        Task<List<Infrastructure.Entities.Doctor.Doctor>> GetAllDoctor(DoctorDto dto);
        Task<List<DoctorCoverageToday>> GetDoctorCoverageToday(DoctorDto dto);
        Task<Response> PostPutDoctor(DoctorDto dto);
        Task<Response> ApproveDoctor(int doctorId, byte newStatus,string userName);
        Task<List<ForDoctorApprovalDto>> GetPendingApprovals(DoctorDto doctor);
    }
}