public IActionResult Get([FromQuery] AccountQueryParameter p)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     return(Ok(Repo.Query(p)));
 }
Exemplo n.º 2
0
        public IEnumerable <Account> Query(AccountQueryParameter p)
        {
            var result = context.Accounts.Where(x =>
                                                string.IsNullOrEmpty(p.Name) ||
                                                x.Name.ToLowerInvariant().StartsWith(p.Name.ToLowerInvariant()));

            if (p.Skip != null)
            {
                result = result.Skip(p.Skip.Value);
            }
            if (p.Take != null)
            {
                result = result.Take(p.Take.Value);
            }
            return(result.AsEnumerable());
        }
Exemplo n.º 3
0
        public void TestGetSkip0Take1()
        {
            // arrange
            var context    = CreateDbContext();
            var controller = new AccountsController(context);
            var p          = new AccountQueryParameter()
            {
                Skip = 0,
                Take = 1
            };

            // act
            var okResult = controller.Get(p) as OkObjectResult;
            var data     = (okResult.Value as IEnumerable <Account>).ToArray();

            // assert
            Assert.AreEqual(1, data.Count());
            Assert.AreEqual(1, data[0].Id);
            Assert.AreEqual("Steve", data[0].Name);
        }