예제 #1
0
파일: Menu.cs 프로젝트: AdreN167/ADONETExam
 public Menu()
 {
     _doctorDataAccess                = new DoctorDataAccess();
     _patientDataAccess               = new PatientDataAccess();
     _timetableDataAccess             = new TimetableDataAccess();
     _doctorsSpecializationDataAccess = new DoctorsSpecializationDataAccess();
 }
        public void GetList_DisplayListOfPatients_ShouldNotReturnInactivePatients()
        {
            var patients = new List <Patient>
            {
                new Patient {
                    Id = Guid.NewGuid(), IsActive = true
                },
                new Patient {
                    Id = Guid.NewGuid(), IsActive = true
                },
                new Patient {
                    Id = Guid.NewGuid(), IsActive = true
                },
                new Patient {
                    Id = Guid.NewGuid(), IsActive = false
                }
            }.AsQueryable();

            _mockSet.As <IQueryable <Patient> >().Setup(m => m.Provider).Returns(patients.Provider);
            _mockSet.As <IQueryable <Patient> >().Setup(m => m.Expression).Returns(patients.Expression);
            _mockSet.As <IQueryable <Patient> >().Setup(m => m.ElementType).Returns(patients.ElementType);
            _mockSet.As <IQueryable <Patient> >().Setup(m => m.GetEnumerator()).Returns(patients.GetEnumerator());

            var dataAccess  = new PatientDataAccess(_mockContext.Object);
            var patientList = dataAccess.GetList();

            Assert.AreEqual(3, patientList.Count);
        }
예제 #3
0
        public void SaveChanges()
        {
            try
            {
                IDataAccess patientDataAccess = new PatientDataAccess(_view.Patient, new FhirDBContext());
                if (_patientDetailsDisplayMode == PatientDetailsDisplayMode.AddMode)
                {
                    patientDataAccess.Add();
                    _view.DisplayOperationCompletedNotification(Operation.AddPatient);

                    Logger.WriteLogToFile(String.Format("User added {0} {1}", _view.Patient.GivenName, _view.Patient.FamilyName));
                }
                else
                {
                    patientDataAccess.Update();
                    _view.DisplayOperationCompletedNotification(Operation.EditPatient);

                    Logger.WriteLogToFile(String.Format("User updated {0} {1}", _view.Patient.GivenName, _view.Patient.FamilyName));
                }

                CloseForm();

                if (UpdatedPatient != null)
                {
                    UpdatedPatient();
                }
            }
            catch (Exception exc)
            {
                Logger.WriteExceptionLogToFile("Save Patient Details", exc);
            }
        }
        public void GetList_SearchNonExistingPatient_ShouldReturnEmpty()
        {
            var patients = new List <Patient>
            {
                new Patient {
                    Id        = Guid.NewGuid(), FamilyName = "Doe",
                    GivenName = "John", IsActive = true, PatientGender = "male",
                    Birthdate = DateTime.Now, HomePhone = "", MobilePhone = "", Email = ""
                },
                new Patient {
                    Id        = Guid.NewGuid(), FamilyName = "Doe",
                    GivenName = "Jane", IsActive = true, PatientGender = "female",
                    Birthdate = DateTime.Now, HomePhone = "", MobilePhone = "", Email = ""
                },
                new Patient {
                    Id        = Guid.NewGuid(), FamilyName = "Doe",
                    GivenName = "Joe", IsActive = true, PatientGender = "male",
                    Birthdate = DateTime.Now, HomePhone = "", MobilePhone = "", Email = ""
                }
            }.AsQueryable();

            _mockSet.As <IQueryable <Patient> >().Setup(m => m.Provider).Returns(patients.Provider);
            _mockSet.As <IQueryable <Patient> >().Setup(m => m.Expression).Returns(patients.Expression);
            _mockSet.As <IQueryable <Patient> >().Setup(m => m.ElementType).Returns(patients.ElementType);
            _mockSet.As <IQueryable <Patient> >().Setup(m => m.GetEnumerator()).Returns(patients.GetEnumerator());

            var dataAccess = new PatientDataAccess(_mockContext.Object);

            var patientList = dataAccess.GetList("Adam");

            Assert.AreEqual(0, patientList.Count);
        }
예제 #5
0
        public ActionResult DeleteConfirmed(int id)
        {
            PatientDataAccess patientdataaccess = db.PatientDataAccesses.Find(id);

            db.PatientDataAccesses.Remove(patientdataaccess);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #6
0
        public void AddFaceByID(string id, FaceEntity face)
        {
            // Check Data Quality
            //...
            // send to the addFaceByIDfunction In PatientDataAccess
            PatientDataAccess dataAccess = new PatientDataAccess();

            dataAccess.AddFaceByID(id, face);
        }
        private void SetPatientList()
        {
            PatientDataAccess patientDataAccess = new PatientDataAccess(new FhirDBContext());

            _view.PatientList  = (List <Patient>)patientDataAccess.GetList();
            _view.CurrentView  = RECORDS_FROM_LOCAL_DATABASE;
            _view.TotalRecords = _view.PatientList.Count().ToString();
            _view.EnableDisableButtons();
        }
예제 #8
0
 public ActionResult Edit([Bind(Include = "id,PatientId,HospitalId,AccessRequestDate,IsLatest")] PatientDataAccess patientdataaccess)
 {
     if (ModelState.IsValid)
     {
         db.Entry(patientdataaccess).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.HospitalId = new SelectList(db.Hospitals, "Id", "HospitalName", patientdataaccess.HospitalId);
     ViewBag.PatientId  = new SelectList(db.Patients, "Id", "AadharId", patientdataaccess.PatientId);
     return(View(patientdataaccess));
 }
        public IActionResult AddNewPatient([FromQuery] PatientEntity patientEntity)
        {
            Patient patient = new Patient();

            patientEntity.Age = 60;
            if (patient.ValidateData(patientEntity))
            {
                var patientDataAccess = new PatientDataAccess();
                patientDataAccess.SavePatient(patientEntity);
                return(Ok(patientEntity));
            }
            return(Ok("Age Error"));
        }
예제 #10
0
        // GET: /PatientDataAccess/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PatientDataAccess patientdataaccess = db.PatientDataAccesses.Find(id);

            if (patientdataaccess == null)
            {
                return(HttpNotFound());
            }
            return(View(patientdataaccess));
        }
        public void Add_PatientViaContext_ShouldBeSaved()
        {
            var patient = new Patient()
            {
                Id = Guid.NewGuid(), FamilyName = "Test"
            };

            var dataAccess = new PatientDataAccess(patient, _mockContext.Object);

            dataAccess.Add();

            _mockSet.Verify(m => m.Add(It.IsAny <Patient>()), Times.Once());
            _mockContext.Verify(m => m.SaveChanges(), Times.Once());
        }
예제 #12
0
        public void InitializePresenterAndPatient(Guid patientId)
        {
            _view.AttachPresenter(this);

            if (_patientDetailsDisplayMode == PatientDetailsDisplayMode.AddMode)
            {
                _view.Patient = new Patient(Guid.NewGuid());
            }
            else
            {
                PatientDataAccess patientDataAccess = new PatientDataAccess(new FhirDBContext());
                var patient = patientDataAccess.Get(patientId);
                _view.Patient = patient;
            }
        }
        public void SearchPatient()
        {
            try
            {
                PatientDataAccess patientDataAccess = new PatientDataAccess(new FhirDBContext());

                switch (_view.SelectedDatabase)
                {
                case DatabaseSearchOption.Local:

                    Logger.WriteLogToFile(String.Format("User searches for \"{0}\" in local database.", _view.SearchString));

                    _view.PatientList = (List <Patient>)patientDataAccess.GetList(_view.SearchString);

                    if (_view.SearchString == String.Empty)
                    {
                        //resets the list
                        _view.CurrentView = RECORDS_FROM_LOCAL_DATABASE;
                    }
                    else
                    {
                        _view.CurrentView = SEARCH_RESULTS_FROM_LOCAL_DATABASE;
                    }
                    break;

                case DatabaseSearchOption.External:

                    Logger.WriteLogToFile(String.Format("User searches for \"{0}\" in external database.", _view.SearchString));

                    // Need to check since an exception will be thrown if an empty string is passed.
                    if (_view.SearchString != String.Empty)
                    {
                        _view.PatientList = (List <Patient>)patientDataAccess.SearchExternalDatabase(_view.SearchString);
                        _view.CurrentView = SEARCH_RESULTS_FROM_EXTERNAL_DATABASE;
                    }
                    break;
                }

                // Set the label for displaying the no. of records.
                _view.TotalRecords = _view.PatientList.Count().ToString();
                _view.EnableDisableButtons();
            }
            catch (Exception exc)
            {
                Logger.WriteExceptionLogToFile("Search Patient", exc);
                _view.DisplayErrorNotification(exc);
            }
        }
예제 #14
0
        // GET: /PatientDataAccess/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PatientDataAccess patientdataaccess = db.PatientDataAccesses.Find(id);

            if (patientdataaccess == null)
            {
                return(HttpNotFound());
            }
            ViewBag.HospitalId = new SelectList(db.Hospitals, "Id", "HospitalName", patientdataaccess.HospitalId);
            ViewBag.PatientId  = new SelectList(db.Patients, "Id", "AadharId", patientdataaccess.PatientId);
            return(View(patientdataaccess));
        }
        public ActionResult ArrayHandler(IEnumerable <int> PDRids, string Status)
        {
            var redirectUrl = new UrlHelper(Request.RequestContext).Action("Index", "PatientDataRequest", new { });

            try
            {
                var PatientDataRequested = db.PatientDataRequests.Where(h => PDRids.Contains(h.id)).ToList();
                int PDRstatusId          = Convert.ToInt32(db.PatientDataRequestStatus.Where(e => e.Status == Status).First().Id);

                foreach (var item in PatientDataRequested)
                {
                    item.Status          = PDRstatusId;
                    db.Entry(item).State = EntityState.Modified;
                }

                db.SaveChanges();

                if (Status == "Closed")
                {
                    var patients = db.PatientDataAccesses.ToList().Where(pt => PatientDataRequested.Any(pdr => pt.PatientId == pdr.PatientId)).Select(s => s);
                    foreach (var item in patients)
                    {
                        item.IsLatest        = false;
                        db.Entry(item).State = EntityState.Modified;
                    }

                    db.SaveChanges();

                    PatientDataAccess pdrdata = new PatientDataAccess();
                    foreach (var item in PatientDataRequested)
                    {
                        pdrdata.HospitalId        = item.HospitalId;
                        pdrdata.PatientId         = item.PatientId;
                        pdrdata.IsLatest          = true;
                        pdrdata.AccessRequestDate = DateTime.Now;
                        db.PatientDataAccesses.Add(pdrdata);
                        db.SaveChanges();
                    }
                }
                return(Json(new { Url = redirectUrl, status = "OK" }));
            }
            catch (Exception)
            {
                return(Json(new { Url = redirectUrl, status = "Error" }));
            }
        }
        public void DeletePatient()
        {
            try
            {
                PatientDataAccess patientDataAccess = new PatientDataAccess(new FhirDBContext());
                patientDataAccess.Delete(_view.SelectedPatientId);
                _view.DisplayOperationCompletedNotification(Operation.DeletePatient);
                RefreshGrid();

                Logger.WriteLogToFile("User deleted a patient.");
            }
            catch (Exception exc)
            {
                Logger.WriteExceptionLogToFile("Delete Patient", exc);
                _view.DisplayErrorNotification(exc);
            }
        }
예제 #17
0
        public RegisterPatient()
        {
            InitializeComponent();
            _consultantDA = new ConsultantDataAccess();
            _patientDA    = new PatientDataAccess();
            var list = _consultantDA.GetAll().ToList();
            //foreach (Consultant i in TxtConsultant.ItemsSource)
            //{
            //    TxtConsultant.DisplayMemberPath = i.Name;
            //}
            Binding bind = new Binding();

            bind.Source = list;

            TxtConsultant.SetBinding(ItemsControl.ItemsSourceProperty, bind);
            TxtConsultant.DisplayMemberPath = "Name";
            TxtConsultant.SelectedValuePath = "MCI";
        }
        public void ImportPatientData()
        {
            try
            {
                Logger.WriteLogToFile(String.Format("User tries to import {0} records from external database to local database.", _view.PatientImportList.Count));

                var patientDataAccess = new PatientDataAccess(new FhirDBContext());
                var patientsAdded     = 0;
                var duplicatePatients = 0;
                patientDataAccess.ImportData(_view.PatientImportList, out patientsAdded, out duplicatePatients);

                string customMessage = String.Empty;
                if (duplicatePatients > 0 && patientsAdded > 0)
                {
                    customMessage = String.Format("Import Successful!\n{0} patient(s) added.\n{1} patient(s) already exist(s) in the database.",
                                                  patientsAdded, duplicatePatients);
                }
                else if (duplicatePatients > 0 && patientsAdded == 0)
                {
                    customMessage = String.Format("{0} patient(s) added.\n{1} patient(s) already exist(s) in the database.",
                                                  patientsAdded, duplicatePatients);
                }
                else
                {
                    customMessage = String.Format("Import Successful!\n{0} patient(s) added.", patientsAdded);
                }

                Logger.WriteLogToFile(String.Format("User has successfully imported {0} records from external database to local database. {1} duplicate patient(s) found.",
                                                    patientsAdded, duplicatePatients));

                _view.DisplayOperationCompletedNotification(Operation.ImportPatient, customMessage);
            }
            catch (Exception exc)
            {
                Logger.WriteExceptionLogToFile("Import data", exc);
                _view.DisplayErrorNotification(exc);
            }
        }
        public void Delete_Patient_ChangesSaved()
        {
            var idToDelete = Guid.NewGuid();

            var data = new List <Patient>
            {
                new Patient {
                    Id = idToDelete, IsActive = true
                }
            }.AsQueryable();

            _mockSet.As <IQueryable <Patient> >().Setup(m => m.Provider).Returns(data.Provider);
            _mockSet.As <IQueryable <Patient> >().Setup(m => m.Expression).Returns(data.Expression);
            _mockSet.As <IQueryable <Patient> >().Setup(m => m.ElementType).Returns(data.ElementType);
            _mockSet.As <IQueryable <Patient> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

            var dataAccess = new PatientDataAccess(_mockContext.Object);

            dataAccess.Delete(idToDelete);

            _mockSet.Verify(m => m.Add(It.Is <Patient>(x => x.Id == idToDelete)), Times.Once());
            _mockContext.Verify(m => m.SaveChanges(), Times.Once());
        }
예제 #20
0
        static void Main(string[] args)
        {
            ConfigurationService.Init();
            ICollection <Doctor>       doctors;
            ICollection <VisitHistory> visitTime;

            using (var doctorDataAccess = new DoctorDataAccess())
            {
                doctors = doctorDataAccess.Select();
            }
            Console.WriteLine(@"                                *********************************************
                                *			                    *
                                *			                    *
                                *       Welcome to the Hospital System!     *
                                *			                    *
                                *			                    *
                                *********************************************");
            var patient = new Patient();

            while (true)
            {
                Console.Write("Enter your Full name:\n");
                using (var patientDataAccess = new PatientDataAccess())
                {
                    patient.FullName = Console.ReadLine();
                    patientDataAccess.Insert(patient);
                    visitTime = patientDataAccess.SelectVisitTime();
                }
                Console.Clear();

                Console.Write("\n1. Sign up for an appointment\n\n0. Exit\nChoose: ");
                switch (Console.ReadLine())
                {
                case "1":
                    Console.Write("Choose doctor's direction: \n");
                    var direction = Console.ReadLine();
                    foreach (var doctor in doctors)
                    {
                        if (doctor.Direction.Name.Contains(direction))
                        {
                            using (var patientDataAccess = new PatientDataAccess())
                            {
                                foreach (var date in visitTime)
                                {
                                    if (date.DoctorId == doctor.Id && date.VisitDate.Hour <= DateTime.Now.Hour)
                                    {
                                        doctor.IsFree = true;
                                    }
                                }
                                if (doctor.Schedule.StartTime.Hour >= DateTime.Now.Hour &&
                                    (doctor.Schedule.EndTime.Hour - 1) <= DateTime.Now.Hour &&
                                    doctor.IsFree == true)
                                {
                                    patientDataAccess.InsertHistory(doctor, patient);
                                }
                            }
                        }
                    }
                    break;

                case "0":
                    return;
                }
            }
        }
예제 #21
0
        static void Main(string[] args)
        {
            InitConfiguration();

            CultureInfo enUS = new CultureInfo("en-US");

            var doctors = new List <Doctor>
            {
                new Doctor
                {
                    FullName   = "Ivan Ivanov",
                    SpecialId  = Guid.Parse("6E5D08FA-9E66-4639-9742-06F9DF4197A7"),
                    ScheduleId = Guid.Parse("A30B3F5A-7744-4B6D-B99A-1D15848A5B3A"),
                },
                new Doctor
                {
                    FullName   = "Boris Borisov",
                    SpecialId  = Guid.Parse("627CEDC2-530D-4B35-9BEB-08E3B7E07F79"),
                    ScheduleId = Guid.Parse("37D70B5B-4F33-4D07-B834-211C40C3C5EE")
                }
            };

            var patients = new List <Patient>
            {
                new Patient
                {
                    FullName      = "Ivan Ivanov",
                    TimeOfVisitId = Guid.Parse("8E070ED1-E5B1-4BC5-8176-39B4C53FBD37")
                },
                new Patient
                {
                    FullName      = "Boris Borisov",
                    TimeOfVisitId = Guid.Parse("D8E21FB5-EBF6-45AD-AC09-59123ED3389B")
                }
            };

            var visits = new List <TimesToVisits>
            {
                new TimesToVisits
                {
                    Id          = Guid.Parse("D8E21FB5-EBF6-45AD-AC09-59123ED3389B"),
                    TimeOfVisit = DateTime.ParseExact("11:00", "HH:mm", enUS)
                },
                new TimesToVisits
                {
                    Id          = Guid.Parse("8E070ED1-E5B1-4BC5-8176-39B4C53FBD37"),
                    TimeOfVisit = DateTime.ParseExact("15:00", "HH:mm", enUS)
                },
            };

            var scheduls = new List <Schedule>
            {
                new Schedule
                {
                    Id = Guid.Parse("A30B3F5A-7744-4B6D-B99A-1D15848A5B3A"),
                    TimesOfVisitsId = new List <Guid>
                    {
                        Guid.Parse("D8E21FB5-EBF6-45AD-AC09-59123ED3389B")
                    }
                },
                new Schedule
                {
                    Id = Guid.Parse("37D70B5B-4F33-4D07-B834-211C40C3C5EE"),
                    TimesOfVisitsId = new List <Guid>
                    {
                        Guid.Parse("8E070ED1-E5B1-4BC5-8176-39B4C53FBD37")
                    }
                }
            };

            var therapist = new Special
            {
                Id   = Guid.Parse("6E5D08FA-9E66-4639-9742-06F9DF4197A7"),
                Name = "Терапевт"
            };
            var surgeon = new Special
            {
                Id   = Guid.Parse("627CEDC2-530D-4B35-9BEB-08E3B7E07F79"),
                Name = "Хирург"
            };



            var doctorAccess = new DoctorDataAccess();
            var listOfDoc    = doctorAccess.Select().ToList();


            Console.WriteLine("Выберите врача");
            var choose = new List <int>();
            int number = 0;

            foreach (var doc in listOfDoc)
            {
                choose.Add(number);
                Console.Write(doc.FullName);
                Console.Write(" - ");
                Console.WriteLine(choose[number]);
            }
            int.TryParse(Console.ReadLine(), out int numberOfDoc);

            var scheduleAccess  = new ScheduleDataAccess();
            var listOfSchedules = scheduleAccess.Select().ToList();

            var visitAccess  = new TimesToVisitsDataAccess();
            var listOfVisits = visitAccess.Select().ToList();

            choose = null;
            number = 0;
            Doctor DocOfPatient = null;

            foreach (var doc in doctors)
            {
                choose.Add(number);
                if (numberOfDoc == choose[number])
                {
                    DocOfPatient = doc;
                }
                foreach (var schedule in listOfSchedules)
                {
                    if (schedule.Id == DocOfPatient.ScheduleId && schedule.TimesOfVisitsId == listOfVisits[number])
                    {
                        Console.WriteLine(visits[number]);
                    }
                }
            }

            int.TryParse(Console.ReadLine(), out int numberOfVisit);

            var patientAccess = new PatientDataAccess();
            var listOfPatient = patientAccess.Select().ToList();

            Console.WriteLine("Введите имя");
            string nameOfPatient = Console.ReadLine();
            var    newPatient    = new Patient
            {
                FullName      = nameOfPatient,
                TimeOfVisitId =
            };

            listOfPatient.Add(newPatient);
        }
예제 #22
0
파일: Menu.cs 프로젝트: IgorPolivni/DamuMed
 public Menu()
 {
     _patientDataAccess  = new PatientDataAccess();
     _doctorDataAccess   = new DoctorDataAccess();
     _scheduleDataAccess = new ScheduleDataAccess();
 }