Esempio n. 1
0
        /// <summary>
        /// Выполняет SQL-запрос и возвращает ответ указанного типа в качестве списка<para/>
        /// Если объект должен вернуть сложный объект, то нужно передать в аргументы делегат создающий этот объект
        /// </summary>
        /// <typeparam name="T">Тип результата</typeparam>
        /// <param name="entityFactory">Делегат создающий объект</param>
        /// <returns>Список ответов указанного типа/returns>
        public IEnumerable <T> Read <T>(Func <T> entityFactory = null)
        {
            CheckNotDisposed();
            Func <T> localEntityFactory = entityFactory;

            List <T> entities = new List <T>();

            using (DbCommand command = CreateCommand())
            {
                using (DbDataReader reader = command.ExecuteReader())
                {
                    if (!reader.HasRows)
                    {
                        break;
                    }

                    while (reader.Read())
                    {
                        T entity = localEntityFactory is null ? default : localEntityFactory();
                                   entities.Add(readerMapper.Map(reader, entity));
                    }
                }
            }

            Dispose();
            return(entities);
        }
Esempio n. 2
0
        public ObservableCollection <ReaderModel> FindReaderByTicket(int number)
        {
            var res = _service.FindReaderByTicket(number);

            return(new ObservableCollection <ReaderModel>(res.Select(r => _mapper.Map(r))));
        }