Beispiel #1
0
        public async Task <IPagedResults <EntityUser> > SelectAsync(IDbDataParameter[] dbParams)
        {
            IPagedResults <EntityUser> results = null;

            using (var context = _dbContext)
            {
                results = await context.ExecuteReaderAsync <IPagedResults <EntityUser> >(
                    CommandType.StoredProcedure,
                    "SelectEntityUsersPaged",
                    async reader =>
                {
                    if ((reader != null) && (reader.HasRows))
                    {
                        var output = new PagedResults <EntityUser>();
                        while (await reader.ReadAsync())
                        {
                            var entity = new EntityUser();
                            entity.PopulateModel(reader);
                            output.Data.Add(entity);
                        }

                        if (await reader.NextResultAsync())
                        {
                            await reader.ReadAsync();
                            output.PopulateTotal(reader);
                        }

                        return(output);
                    }

                    return(null);
                },
                    dbParams);
            }

            return(results);
        }