示例#1
0
        /// <summary>
        /// Lista os Wishes da base de dados
        /// </summary>
        /// <param name="paginationParameter">Filtros para uma exibicao paginada</param>
        /// <param name="UserId">Id do usuario</param>
        /// <returns>Lista de Users filtrada pelos parametros de paginacao</returns>
        public async Task <IList <Wish> > ListWishesAsync(PaginationParameter paginationParameter, int UserId)
        {
            Task <IList <Wish> > tListWish = new Task <IList <Wish> >(() =>
            {
                // Neste caso, obtem todos os desejos para fazer a paginação, mas poderia ser criada uma
                // nova função na intreface para refinar mais a lista passando filtros direto para a consulta
                // na camada de persistencia, para melhorar a performance.
                List <Wish> wishes = new List <Wish>(_wishListRepository.GetAll(UserId));

                // Realiza a paginação da lista
                List <Wish> wishesPage = wishes.
                                         Skip((paginationParameter.numeroPagina - 1) * paginationParameter.numeroRegistrosPorPagina).
                                         Take(paginationParameter.numeroRegistrosPorPagina)
                                         .ToList();

                return(wishesPage);
            });

            tListWish.Start();
            return(await tListWish);
        }
        //
        // GET: /WishList/

        public ActionResult Index()
        {
            return(View(wishRepository.GetAll()));
        }
示例#3
0
        public async Task <IEnumerable <Wish> > GetWishes()
        {
            var dbWishes = await _wishRepository.GetAll();

            return(dbWishes);
        }