Exemplo n.º 1
0
        public async Task <IActionResult> GetAccounts([FromQuery] BankAccountParams bankAccountParams)
        {
            var result = await accountService.GetAccounts(await userManager.FindByNameAsync(User.Identity.Name), bankAccountParams);

            var metadata = new
            {
                result.TotalCount,
                result.PageSize,
                result.CurrentPage,
                result.TotalPages,
                result.HasNext,
                result.HasPrevious
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));

            return(Ok(result));
        }
        public async void GetAccountsTest_NotNullEmptyPagedList()
        {
            var accRepoMock = new Mock <IRepository <Account> >();
            var accParams   = new BankAccountParams {
                PageNumber = 3, PageSize = 4
            };

            accRepoMock.Setup(repo => repo.Get(It.IsAny <Func <Account, bool> >(), accParams)).ReturnsAsync(new PagedList <Account>(new List <Account>(), 0, accParams.PageNumber, accParams.PageSize));
            var service = new AccountService(accRepoMock.Object, null, null);

            var result = await service.GetAccounts(activeUser, accParams);

            Assert.NotNull(result);
            Assert.IsType <PagedList <Account> >(result);
            Assert.Empty(result);
            Assert.NotEqual(activeUser.Accounts.Count, result.TotalCount);
            Assert.False(result.HasNext);
            Assert.True(result.HasPrevious);
            Assert.Equal(0, result.TotalPages);
        }
 public async Task <PagedList <Account> > GetAccounts(UserProfile currentUser, BankAccountParams bankAccountParams)
 {
     return(await repository.Get(a => a.OwnerId.Equals(currentUser.Id), bankAccountParams));
 }