private ProcessResult IsExistOtherRendezvous(Rendezvous rendezvous)
        {
            ProcessResult result = new ProcessResult();

            DoctorManager doctorManager = new DoctorManager();
            Doctor        doctor        = doctorManager.Select(rendezvous.DoctorId);

            List <Doctor> doctors = doctorManager.Doctors();


            List <int> depDocList = doctors.Where(d => d.DepartmentId == doctor.DepartmentId).Select(d => d.Id).ToList();

            List <Rendezvous> rendezvouses = Rendezvouses(DateTime.Today, null, null);

            bool any = rendezvouses.Any(r => r.PatientId == rendezvous.PatientId && depDocList.Contains(r.DoctorId));

            if (any)
            {
                result.Errors.Add("Hastanın aynı bölüme aynı güne zaten randevusu var");
            }

            if (!any)
            {
                foreach (Doctor _doctor in doctors)
                {
                    if (Rendezvouses(DateTime.Today, _doctor.Id, null).Any(p => p.PatientId == rendezvous.PatientId && p.RendezvousTimeId == rendezvous.RendezvousTimeId))
                    {
                        result.Errors.Add(String.Format("{0} {1} doktorunda aynı saatte randevu alınmış", _doctor.Name, _doctor.Surname));
                    }
                }
            }

            result.Result = result.Errors.Count > 0 ? Extensions.BLLResult.AlreadyFound : Extensions.BLLResult.Success;
            return(result);
        }
Пример #2
0
        public Doctor LoginDoctor(string tc, string password)
        {
            DoctorManager manager = new DoctorManager();
            Doctor        doctor  = manager.Select(tc);

            if (doctor == null)
            {
                return(null);
            }
            return(String.CompareOrdinal(password, doctor.Password) != 0 ? null : doctor);
        }
        private ProcessResult Verifyrendezvous(Rendezvous rendezvous)
        {
            ProcessResult     result            = new ProcessResult();
            DoctorManager     doctorManager     = new DoctorManager();
            Doctor            doctor            = doctorManager.Select(rendezvous.DoctorId);
            DepartmentManager departmentManager = new DepartmentManager();
            Department        department        = departmentManager.Select(doctor != null ? doctor.DepartmentId : 0);
            PatientManager    patientManager    = new PatientManager();
            Patient           patient           = patientManager.Select(rendezvous.PatientId);

            new RendezvousTimeManager();

            if (rendezvous.PatientId <= 0)
            {
                result.Errors.Add(String.Format("Hasta bilgisi olmadan randevu alınamaz"));
            }
            if (doctor == null || rendezvous.DoctorId <= 0)
            {
                result.Errors.Add(String.Format("Doktor bilgisi olmadan randevu alınamaz"));
            }
            if (rendezvous.RendezvousTimeId <= 0)
            {
                result.Errors.Add(String.Format("Randevu saati bilgisi olmadan randevu alınamaz"));
            }
            if (rendezvous.Date < DateTime.Today)
            {
                result.Errors.Add(String.Format("Geriye dönük tarihe randevu alınamaz"));
            }
            if (department != null)
            {
                if (patient != null)
                {
                    if (department.MinAge != null && department.MinAge > patient.GetAge())
                    {
                        result.Errors.Add(String.Format("{0} aylıktan küçükler {1} bölümüne gidemez. Hastanın yaşı {2} ay", department.MinAge, department.Name, patient.GetAge()));
                    }
                    if (department.MaxAge != null && department.MaxAge < patient.GetAge())
                    {
                        result.Errors.Add(String.Format("{0} aylıktan büyükler {1} bölümüne gidemez. Hastanın yaşı {2} ay", department.MaxAge, department.Name, patient.GetAge()));
                    }
                    if (department.Gender != null && department.Gender != patient.Gender)
                    {
                        result.Errors.Add(String.Format("{0} hastalar {1} bölümüne gidemez.", patient.Gender ? "Erkek" : "Kadın", department.Name));
                    }
                }
            }
            else
            {
                result.Errors.Add("Departman seçilmeden randevu alınamaz.");
            }

            result.Result = result.Errors.Count > 0 ? Extensions.BLLResult.NotVerified : Extensions.BLLResult.Verified;
            return(result);
        }