public void NewTestee(Testee temp)
        {
            using (NpgsqlConnection connection = new NpgsqlConnection(connections))
            {
                connection.Open();
                using (NpgsqlTransaction transaction = connection.BeginTransaction())
                {
                    using (NpgsqlCommand command = new NpgsqlCommand(testeeInsertQuery, connection))
                    {
                        command.Transaction = transaction;
                        command.Parameters.Add("@surname", NpgsqlTypes.NpgsqlDbType.Varchar, 200);
                        command.Parameters.Add("@name", NpgsqlTypes.NpgsqlDbType.Varchar, 200);
                        command.Parameters.Add("@patronium", NpgsqlTypes.NpgsqlDbType.Varchar, 200);
                        command.Parameters.Add("@birth_date", NpgsqlTypes.NpgsqlDbType.Date);
                        command.Parameters.Add("@id_gender", NpgsqlTypes.NpgsqlDbType.Integer);

                        try
                        {
                            command.Parameters[0].Value = temp.Surname;
                            command.Parameters[1].Value = temp.Name;
                            command.Parameters[2].Value = temp.Patronium;
                            command.Parameters[3].Value = temp.BirthDate;
                            command.Parameters[4].Value = temp.ID_gender;
                            if (command.ExecuteNonQuery() != 1)
                            {
                                throw new InvalidProgramException();
                            }
                            transaction.Commit();
                        }
                        catch (Exception) { transaction.Rollback(); }
                    }
                }
            }
        }
 public void PopulateTesteesList()
 {
     testeesList.Clear();
     using (NpgsqlConnection connection = new NpgsqlConnection(connections))
     {
         using (NpgsqlCommand command = new NpgsqlCommand(testeeSelectQuery, connection))
         {
             connection.Open();
             NpgsqlDataReader reader = command.ExecuteReader();
             if (reader.HasRows)
             {
                 while (reader.Read())
                 {
                     Testee temp = new Testee
                     {
                         ID_testee = reader.GetInt16(0),
                         ID_gender = reader.GetInt16(1),
                         Surname   = reader.GetString(2),
                         Name      = reader.GetString(3),
                         Patronium = reader.GetString(4),
                         BirthDate = reader.GetDateTime(5)
                     };
                     testeesList.Add(temp);
                 }
             }
             reader.Close();
         }
     }
 }
        //----------ИСПЫТУЕМЫЕ----------//

        private void AddTestee(object sender, RoutedEventArgs e)
        {
            Testee temp = new Testee
            {
                Surname   = tbSurname.Text,
                Name      = tbName.Text,
                Patronium = tbPatronium.Text,
                BirthDate = (DateTime)dpBirthDate.SelectedDate,
                ID_gender = (int)cbGender.SelectedValue
            };

            dbsender.NewTestee(temp);
            testeesList = RefreshTesteesList();
        }