public override BookContainer <Schoolbook> GetAll(string type = null, BookContainer <Schoolbook> section = null, int?sectionId = null)
        {
            SchoolbookSection books = new SchoolbookSection();

            base.GetAll("Schoolbook", books, 3);

            return(GetSchoolbooks(books, type, section, sectionId));
        }
        public override BookContainer <Schoolbook> Search(string text, BookFilter filter, string type = null, BookContainer <Schoolbook> section = null, int?sectionId = null)
        {
            SchoolbookSection books = new SchoolbookSection();

            base.Search(text, filter, "Schoolbook", books, 3);

            return(GetSchoolbooks(books, type, section, sectionId));
        }
        private BookContainer <Schoolbook> GetSchoolbooks(SchoolbookSection books, string type, BookContainer <Schoolbook> section, int?sectionId, string query = GetAllSchoolbooksQuery)
        {
            using (SqlConnection connection = new SqlConnection(_connectionString))
            {
                connection.Open();
                using (SqlCommand command = new SqlCommand(query, connection))
                {
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            var bookId = (int)reader["id"];

                            if (books.Books.FirstOrDefault(b => b.Id == bookId) != null)
                            {
                                books.Books.First(b => b.Id == bookId).Form    = (int)reader["form"];
                                books.Books.First(b => b.Id == bookId).Subject = (string)reader["subject"];
                            }
                        }
                        return(books);
                    }
                }
            }
        }