Files
2024-05-30 15:40:13 +03:00

31 lines
1.1 KiB
C#

using Application.Endpoints.Appointments;
using Domain.Entities;
using MongoDB.Driver;
namespace Application.Services.Database.MongoDB;
public interface IAppointmentsMongoDbService
{
IMongoCollection<T> GetCollection<T>();
Task<List<T>> FindAsync<T>(List<(string FieldName, string Value)> criteria, CancellationToken token);
Task AddAsync<T>(T document, CancellationToken token);
Task ModifyAsync<T>(string keyField, string keyValue, T document, CancellationToken token);
Task DeleteAsync<T>(string keyField, string keyValue, CancellationToken token);
Task DeleteByIdAsync<T>(string id, CancellationToken token);
Task<bool> IsAppointmentUnique(AppointmentInformation request, CancellationToken token);
Task<bool> DoesAppointmentExists(AppointmentInformation request, CancellationToken token);
Task<List<Appointment>> FindPastAppointments(DateTime currentDate, CancellationToken token);
Task UpdateAppointment(Appointment appointment, CancellationToken token);
Task DeleteAppointment(string appointmentId, CancellationToken token);
Task<List<Appointment>> GetAllAppointments(CancellationToken token);
}