Dashboard Page - Appointments:

- create separate dashboard components for doctor and patient
- add appointments to dashboard components
- add code to backend for appointments retrieval
This commit is contained in:
ElenitaMLG
2024-04-30 12:48:19 +03:00
parent 1ff7f51aa6
commit 7e38d60802
17 changed files with 665 additions and 30 deletions
@@ -0,0 +1,88 @@
using HealthcareManagerUiWebAssem.Models;
using HealthcareManagerUiWebAssem.Services.Http;
namespace HealthcareManagerUiWebAssem.Services.Appointment;
public class AppointmentService : IAppointmentService
{
private readonly IRequestHttpService _requestHttpService;
public AppointmentService(IRequestHttpService requestHttpService)
{
_requestHttpService = requestHttpService;
}
public async Task<BaseResponse> GetAppointmentsByPatient(Guid patientId)
{
try
{
var response = await _requestHttpService.GetByIdAsync("/Appointments/patient", patientId);
return response;
}
catch (Exception ex)
{
return new BaseResponse
{
StatusCode = HttpStatusCodes.InternalServerError,
Data = null,
Message = ex.Message
};
}
}
public async Task<BaseResponse> GetAppointmentsByDoctor(Guid doctorId)
{
try
{
var response = await _requestHttpService.GetByIdAsync("/Appointments/doctor", doctorId);
return response;
}
catch (Exception ex)
{
return new BaseResponse
{
StatusCode = HttpStatusCodes.InternalServerError,
Data = null,
Message = ex.Message
};
}
}
public async Task<BaseResponse> CreateAppointment(
AppointmentManagementModel model)
{
try
{
var response = await _requestHttpService.PostAsync("/Appointments", model);
return response;
}
catch (Exception ex)
{
return new BaseResponse
{
StatusCode = HttpStatusCodes.InternalServerError,
Data = null,
Message = ex.Message
};
}
}
public async Task<BaseResponse> DeleteAppointment(AppointmentManagementModel model)
{
try
{
var response = await _requestHttpService.DeleteByFilterAsync("/Appointments", model);
return response;
}
catch (Exception ex)
{
return new BaseResponse
{
StatusCode = HttpStatusCodes.InternalServerError,
Data = null,
Message = ex.Message
};
}
}
}