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