コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }