HospitalConnectedLayer.HospitalDAL.GetPersons C# (CSharp) Method

GetPersons() public method

public GetPersons ( string firstName, string lastName, string policyNumber ) : List
firstName string
lastName string
policyNumber string
return List
        public List<Person> GetPersons(string firstName, string lastName, string policyNumber)
        {
            OpenConnection();
            _command.CommandText =
                string.Format(
                    "SELECT * FROM Persons WHERE FirstName LIKE @FirstName AND LastName LIKE @LastName AND PolicyNumber LIKE @PolicyNumber");

            _command.Parameters.Add(GetParam("@FirstName", string.Format("%{0}%", firstName)));
            _command.Parameters.Add(GetParam("@LastName", string.Format("%{0}%", lastName)));
            _command.Parameters.Add(GetParam("@PolicyNumber", string.Format("%{0}%", policyNumber)));

            var persons = new List<Person>();

            try
            {
                using (DbDataReader dataReader = _command.ExecuteReader())
                {
                    while (dataReader.Read())
                    {
                        persons.Add(new Person(
                            (string) dataReader["FirstName"],
                            (string) dataReader["LastName"],
                            (DateTime) dataReader["DateOfBirth"],
                            (string) dataReader["Address"],
                            (string) dataReader["PolicyNumber"]));
                    }
                }
                //LOGGING
                Logger.Info("Persons were obtained from database");
            }
            catch (Exception ex)
            {
                //LOGGING
                Logger.Error("Can't get persons!",ex);
                throw new InvalidOperationException("Can't get persons!");
            }
            finally
            {
                CloseConnection();
            }

            return persons;
        }

Usage Example

コード例 #1
0
 public void AddandGetPerson_ThreeDifferentPersons_ShouldPass(Person person)
 {
     var dataStorage = new HospitalDAL(_dataProvider, _connectionString);
     dataStorage.AddPerson(person);
     int personsCount = dataStorage.GetPersons(person.FirstName, person.LastName, person.PolicyNumber).Count;
     Assert.True(personsCount >= 1);
 }