Esempio n. 1
0
        /// <summary>
        /// The asynchronous counterpart to <see cref="IDapperImplementor.GetPage{T}"/>.
        /// </summary>
        protected async Task <IEnumerable <T> > GetPageAutoMapAsync <T>(IDbConnection connection, IClassMapper classMap, IPredicate predicate, IList <ISort> sort, int page, int resultsPerPage, IDbTransaction transaction, int?commandTimeout, IList <IProjection> colsToSelect = null) where T : class
        {
            var query = await GetPageAsync <dynamic>(connection, classMap, predicate, sort, page, resultsPerPage, transaction, commandTimeout, colsToSelect);

            var data = query.ToList();

            return(await Task.FromResult(AutoMapper.MapDynamic <T>(data, false)).ConfigureAwait(false));
        }
Esempio n. 2
0
        protected IEnumerable <T> MappColumns <T>(IEnumerable <dynamic> values) where T : class
        {
            var list = new List <Dictionary <string, object> >();

            foreach (var d in values.ToList())
            {
                var dictionary = new Dictionary <string, object>();
                foreach (KeyValuePair <string, object> kvp in d)
                {
                    var alias = GetColumnAliasFromSimpleAlias(kvp.Key);
                    if (!string.IsNullOrEmpty(alias))
                    {
                        dictionary.Add(alias, kvp.Value);
                    }
                }

                list.Add(dictionary);
            }

            SetAutoMapperIdentifier(SqlGenerator.MappedTables);

            return(AutoMapper.Map <T>(list, false));
        }