public List <RendezvousTime> AvailableRendezvousTimes(DateTime time, int doctorId) { List <RendezvousTime> times = RendezvousTimes(); RendezvousManager rendezvousManager = new RendezvousManager(); List <int> rendezvous = rendezvousManager.Rendezvouses(time, doctorId, null).Select(t => t.RendezvousTimeId).ToList(); List <RendezvousTime> rendezvousTimes = times.Where(t => !rendezvous.Contains(t.Id)).ToList(); return(rendezvousTimes); }
public ProcessResult Delete(int id) { ProcessResult result = new ProcessResult(); RendezvousManager rendezvousManager = new RendezvousManager(); Rendezvous rendezvous = rendezvousManager.Select(id); ExaminationManager examinationManager = new ExaminationManager(); foreach (Examination examination in examinationManager.Examinations(rendezvous.Date, rendezvous.DoctorId, null).Where(e => e.RendezvousId == id).ToList()) { examinationManager.Delete(examination.Id); } switch (_rendezvousDal.Delete(id)) { case DAL.Extensions.DataBaseResult.Success: result.Errors.Add("Randevu silindi"); result.Result = Extensions.BLLResult.Success; break; case DAL.Extensions.DataBaseResult.Referanced: result.Errors.Add("Silinmeye çalışılan randevu muayene olduğundan randevu silinemedi."); result.Result = Extensions.BLLResult.Referanced; break; case DAL.Extensions.DataBaseResult.NotFound: result.Errors.Add("Randevu bulunamadı"); result.Result = Extensions.BLLResult.NotFound; break; case DAL.Extensions.DataBaseResult.Error: result.Errors.Add("Randevu silinirken bir hata ile karşılaşıldı"); result.Result = Extensions.BLLResult.Error; break; case DAL.Extensions.DataBaseResult.ServerDisable: result.Result = Extensions.BLLResult.ServerDisable; result.Errors.Add(Extensions.ServerDisable); break; case DAL.Extensions.DataBaseResult.AlreadyFound: break; default: throw new ArgumentOutOfRangeException(); } return(result); }
public List <RendezvousInfo> RendezvousInfos() { List <RendezvousInfo> rendezvous = new List <RendezvousInfo>(); RendezvousTimeManager timeManager = new RendezvousTimeManager(); int times = timeManager.RendezvousTimes().Count; RendezvousManager rendezvousManager = new RendezvousManager(); List <Rendezvous> savedRendezvous = rendezvousManager.Rendezvouses(DateTime.Today, null, null); DepartmentManager departmentManager = new DepartmentManager(); List <Department> departments = departmentManager.Departments(); foreach (Department department in departments) { RendezvousInfo info = new RendezvousInfo { DepartmentName = department.Name, Max = times * department.Doctors.Count }; foreach (Doctor doctor in department.Doctors) { DoctorRenInfo doctorRenInfo = new DoctorRenInfo { DoctorName = String.Format("{0} {1}", doctor.Name, doctor.Surname) }; int count = savedRendezvous.Count(r => r.DoctorId == doctor.Id); doctorRenInfo.Limit = times - count; info.Value += count; info.DoctorRenInfos.Add(doctorRenInfo); } rendezvous.Add(info); } return(rendezvous); }