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