public AppointmentDto GetById(int appointmentId) { Appointment appointment = _dbContext.Appointments.SingleOrDefault(a => a.Id == appointmentId); if (appointment == null) { return(null); } return(AppointmentAdapter.AppointmentToAppointmentDto(appointment)); }
//appointment is set to "Done" when it's date expires public AppointmentDto SetAppointmentDone(int appointmentId) { Appointment myAppointment = _dbContext.Appointments.SingleOrDefault(appointment => appointment.Id == appointmentId); if (myAppointment == null) { return(null); } if (DateTime.Parse(GetAppointmentFullDateString(myAppointment)) < DateTime.Today && myAppointment.Status != AppointmentStatus.Cancelled) { SetAppointmentStatusDone(myAppointment); _dbContext.SaveChanges(); } return(AppointmentAdapter.AppointmentToAppointmentDto(myAppointment)); }
public AppointmentDto CancelAppointment(int appointmentId) { Appointment myAppointment = _dbContext.Appointments.SingleOrDefault(appointment => appointment.Id == appointmentId); PatientsCancelledAppointmentsAdded(myAppointment); if (myAppointment == null || (GetAppointmentFullDate(myAppointment) - DateTime.Now).TotalDays < 2) { return(null); } myAppointment.Status = AppointmentStatus.Cancelled; myAppointment.CancellationDate = DateTime.Today.ToString("yyyy-MM-dd"); ReturnDoctorsCancelledDate(_dbContext.Doctors.SingleOrDefault(doctor => doctor.Id == myAppointment.DoctorId), myAppointment); return(AppointmentAdapter.AppointmentToAppointmentDto(myAppointment)); }
//doctor can set appointment to "Done" public AppointmentDto FinishAppointment(int appointmentId) { Appointment myAppointment = _dbContext.Appointments.SingleOrDefault(appointment => appointment.Id == appointmentId); Patient p = myAppointment.Patient; if (myAppointment == null) { return(null); } Appointment ap = p.Appointments.Find(a => a.Id == appointmentId); ap.Status = AppointmentStatus.Done; SetAppointmentStatusDone(myAppointment); _dbContext.SaveChanges(); return(AppointmentAdapter.AppointmentToAppointmentDto(myAppointment)); }
public AppointmentDto Add(AppointmentDto appointmentDto) { if (appointmentDto == null) { return(null); } Appointment myAppointment = AppointmentAdapter.AppointmentDtoToAppointment(appointmentDto); myAppointment.Status = AppointmentStatus.Active; _dbContext.Patients.SingleOrDefault(patient => patient.Id == myAppointment.PatientId).Appointments.Add(myAppointment); _dbContext.Doctors.SingleOrDefault(doctor => doctor.Id == myAppointment.DoctorId).Appointments.Add(myAppointment); if (PatientAlreadyHasAppointmentWithDoctor(appointmentDto.PatientId, appointmentDto.DoctorId)) { return(null); } RemoveDoctorsActiveAppointmentDate(_dbContext.Doctors.SingleOrDefault(doctor => doctor.Id == myAppointment.DoctorId), myAppointment); _dbContext.Appointments.Add(myAppointment); _dbContext.SaveChanges(); return(appointmentDto); }
public List <AppointmentDto> GetAll() { List <AppointmentDto> myAppointments = new List <AppointmentDto>(); _dbContext.Appointments.ToList().ForEach(appointment => myAppointments.Add(AppointmentAdapter.AppointmentToAppointmentDto(appointment))); return(myAppointments); }
private void DateClick(object sender, List<AppointmentItem> appointments, DayOfWeek newDayOfWeek) { View clickedView = sender as View; if (clickedView != activeView) { AppointmentAdapter adapter = new AppointmentAdapter (this, appointments, FindViewById<Button> (Resource.Id.saveButton)); appointmentsListView.Adapter = adapter; SetColor (clickedView, activeView, activeDayOfWeek); activeView = clickedView; activeDayOfWeek = newDayOfWeek; } }