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