예제 #1
0
        public static TObject GetFirstItem <TObject>(IMapper <TObject> mapper, DataReaderAdapter dataReader, Func <TObject> createObject)
        {
            if (mapper == null)
            {
                throw new ArgumentNullException("mapper");
            }

            if (createObject == null)
            {
                throw new ArgumentNullException("createObject");
            }

            TObject result = default(TObject);

            if (dataReader != null)
            {
                if (dataReader.Read())
                {
                    result = createObject();
                    mapper.Fill(dataReader, result);
                }
            }

            return(result);
        }
예제 #2
0
        public static List <NameValue <TValue, TKey> > GetNameValueList <TValue, TKey>(DataReaderAdapter dataReader, string valueField, string keyField)
        {
            var result = new List <NameValue <TValue, TKey> >();

            if (dataReader != null)
            {
                while (dataReader.Read())
                {
                    result.Add(new NameValue <TValue, TKey>(dataReader.GetValue <TValue>(valueField), dataReader.GetValue <TKey>(keyField)));
                }
            }

            return(result);
        }
예제 #3
0
        public static List <TObject> GetValueItemsList <TObject>(IValueMapper <TObject> mapper, DataReaderAdapter dataReader)
        {
            if (mapper == null)
            {
                throw new ArgumentNullException("mapper");
            }

            List <TObject> result = new List <TObject>();

            if (dataReader != null)
            {
                while (dataReader.Read())
                {
                    result.Add(mapper.GetValue(dataReader));
                }
            }

            return(result);
        }
예제 #4
0
        public static List <TObject> GetItemsList <TObject>(DataReaderAdapter dataReader, Func <DataReaderAdapter, TObject> createObject)
        {
            if (createObject == null)
            {
                throw new ArgumentNullException("createObject");
            }

            List <TObject> result = new List <TObject>();

            if (dataReader != null)
            {
                while (dataReader.Read())
                {
                    TObject item = createObject(dataReader);
                    result.Add(item);
                }
            }

            return(result);
        }
예제 #5
0
        public static Dictionary <TKey, List <TObject> > GetGroupedItemsList <TObject, TMapper, TKey>(string keyFieldName, DataReaderAdapter dataReader)
            where TObject : new()
            where TMapper : IMapper <TObject>, new()
        {
            var mapper = new TMapper();
            List <Tuple <TKey, TObject> > list = new List <Tuple <TKey, TObject> >();

            if (dataReader != null)
            {
                while (dataReader.Read())
                {
                    TKey    key  = dataReader.GetValue <TKey>(keyFieldName);
                    TObject item = new TObject();
                    mapper.Fill(dataReader, item);
                    list.Add(new Tuple <TKey, TObject>(key, item));
                }
            }

            return(list.GroupBy(x => x.Item1)
                   .ToDictionary(x => x.Key, x => x.Select(i => i.Item2).ToList()));
        }
예제 #6
0
        public static List <TObject> GetItemsList <TObject>(IMapper <TObject> mapper, DataReaderAdapter dataReader)
            where TObject : new()
        {
            if (mapper == null)
            {
                throw new ArgumentNullException("mapper");
            }

            List <TObject> result = new List <TObject>();

            if (dataReader != null)
            {
                while (dataReader.Read())
                {
                    TObject item = new TObject();
                    mapper.Fill(dataReader, item);
                    result.Add(item);
                }
            }

            return(result);
        }