internal override IReadOnlyCollection <Question> ReadAll(Filter filter) { if (filter == null) { filter = new QuestionFilter(); } else if (filter.GetType() != typeof(QuestionFilter)) { throw new ArgumentException("Передаваемый фильтр не соответствует ожидаемому", "filter"); } List <Question> output = new List <Question>(); var drc = GetRowsUsingQuery(TableValuedFunctions.Tests.Question_Read, filter.ToSqlParameters()); foreach (DataRow item in drc) { output.Add(new Question( (string)item["Text"], (int)item["ControlWorkId"], (int)item["QuestionTypeId"], (DateTime)item["DateAdd"] )); } return(output); }
internal override Question Read(int id) { if (id <= 0) { throw new ArgumentException("Идентификатор меньше или равен нулю", "id"); } Filter filter = new QuestionFilter { Id = id }; return(ReadAll(filter).FirstOrDefault()); }