using Application.Services.Database.MongoDB; using Domain.Entities; namespace Application.Endpoints.Appointments.QuerriesAppointments; public class QuerriesAppointmentHandler(IAppointmentsMongoDbService appointmentsMongoDbService) { public async Task GetByPatientId(Guid patientId, CancellationToken token) { var criteria = new List<(string FieldName, string Value)> { ("PatientId", patientId.ToString()) }; var appointments = await appointmentsMongoDbService.FindAsync(criteria, token); if (appointments.Count == 0) return new BaseResponse { StatusCode = HttpStatusCodes.NotFound, Message = "Appointments not found in system.", Data = null }; return new BaseResponse { StatusCode = HttpStatusCodes.OK, Message = "Appointments successfully retrieved.", Data = appointments }; } public async Task GetsByDoctorId(Guid doctorId, CancellationToken token) { var criteria = new List<(string FieldName, string Value)> { ("DoctorId", doctorId.ToString()) }; var appointments = await appointmentsMongoDbService.FindAsync(criteria, token); if (appointments.Count == 0) return new BaseResponse { StatusCode = HttpStatusCodes.NotFound, Message = "Appointments not found in system.", Data = null }; return new BaseResponse { StatusCode = HttpStatusCodes.OK, Message = "Appointments successfully retrieved.", Data = appointments }; } }