Exemplo n.º 1
0
        internal override IReadOnlyCollection <ControlWork> ReadAll(Filter filter)
        {
            if (filter == null)
            {
                filter = new ControlWorkFilter();
            }
            else if (filter.GetType() != typeof(ControlWorkFilter))
            {
                throw new ArgumentException("Передаваемый фильтр не соответствует ожидаемому", "filter");
            }

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

            foreach (DataRow item in drc)
            {
                output.Add(new ControlWork(
                               (int)item["AuthorUserId"],
                               (string)item["Name"],
                               (string)item["Description"],
                               (int)item["TestTypeId"]
                               ));
            }
            return(output);
        }
        internal override GroupType Read(int id)
        {
            if (id <= 0)
            {
                throw new ArgumentException("Идентификатор меньше или равен нулю", "id");
            }

            Filter filter = new ControlWorkFilter
            {
                Id = id
            };

            return(ReadAll(filter).FirstOrDefault());
        }