internal override TestType Read(int id)
        {
            if (id <= 0)
            {
                throw new ArgumentException("Идентификатор меньше или равен нулю", "id");
            }
            Filter filter = new TestTypeFilter
            {
                Id = id
            };

            return(ReadAll(filter).FirstOrDefault());
        }
        internal override IReadOnlyCollection <TestType> ReadAll(Filter filter)
        {
            if (filter == null)
            {
                filter = new TestTypeFilter();
            }
            else if (filter.GetType() != typeof(TestTypeFilter))
            {
                throw new ArgumentException("Передаваемый аргумент не соответствует ожидаемому", "filter");
            }

            List <TestType> output = new List <TestType>();
            var             drc    = GetRowsUsingQuery(TableValuedFunctions.Tests.QuestionType_Read, filter.ToSqlParameters());

            foreach (DataRow item in drc)
            {
                output.Add(new TestType(
                               (int)item["QuestionTypeId"],
                               (string)item["Text"]
                               ));
            }
            return(output);
        }