using adas_core.Domain.Models.MongoModels;
using MongoDB.Bson;

namespace adas_core.Application.Repositories.Interfaces;

public interface IArchivePatientCarePlanRepository : IMongoRepository<PatientCarePlan>
{
    Task<List<PatientCarePlan>?> FindByPatientId(ObjectId patientId);
    Task<List<PatientCarePlan>?> FindByPatientId(string patientId);
    Task<List<PatientCarePlan>?> FindByPatientNumber(string patientId);
    Task<List<PatientCarePlan>> FindAll();

    Task<List<PatientCarePlan>?> FindByIds(ObjectId oldPatientId, string? oldPatientPatientId,
        string? oldPatientPatientNumber);

    Task InsertManyAsync(List<PatientCarePlan> patientCarePla);
}