public BeerListRepresentation Get([FromQuery] string searchTerm, [FromQuery] int page = 1) { if (string.IsNullOrEmpty(searchTerm)) { var beers = repository.Find(new GetBeersQuery(), page, PageSize); var resourceList = new BeerListRepresentation(beers.ToList(), beers.TotalResults, beers.TotalPages, page, LinkTemplates.Beers.GetBeers); return(resourceList); } else { var beers = repository.Find(new GetBeersQuery(b => b.Name.Contains(searchTerm)), page, PageSize); // snap page back to actual page found if (page > beers.TotalPages) { page = beers.TotalPages; } //var link = LinkTemplates.Beers.SearchBeers.CreateLink(new { searchTerm, page }); var beersResource = new BeerListRepresentation(beers.ToList(), beers.TotalResults, beers.TotalPages, page, LinkTemplates.Beers.SearchBeers, new { searchTerm }) { Page = page, TotalResults = beers.TotalResults }; return(beersResource); } }
// GET beers public BeerListRepresentation Get(int page = 1) { var beers = repository.Find(new GetBeersQuery(), page, PageSize); var resourceList = new BeerListRepresentation(beers.ToList(), beers.TotalResults, beers.TotalPages, page, LinkTemplates.Beers.GetBeers); return resourceList; }
// GET beers public BeerListRepresentation Get(int page = 1) { var beers = repository.Find(new GetBeersQuery(), page, PageSize); var resourceList = new BeerListRepresentation(beers.ToList(), beers.TotalResults, beers.TotalPages, page, LinkTemplates.Beers.GetBeers); return(resourceList); }
public BeerListRepresentation Get(int id, int page) { var beers = repository.Find(new GetBeersQuery(b => b.Style.Id == id), page, BeersController.PageSize); var resourceList = new BeerListRepresentation( beers.ToList(), beers.TotalResults, beers.TotalPages, page, LinkTemplates.BeerStyles.AssociatedBeers.CreateLink(new {id})); return resourceList; }
public BeerListRepresentation Get(int id, int page = 1) { var beers = repository.Find(new GetBeersQuery(b => b.Style.Id == id), page, BeersController.PageSize); var resourceList = new BeerListRepresentation( beers.ToList(), beers.TotalResults, beers.TotalPages, page, LinkTemplates.BeerStyles.AssociatedBeers, new { id }); return(resourceList); }
public BeerListRepresentation AssociatedBeers(int id, int page) { var beers = repository.Find(new GetBeersQuery(b => b.Style.Id == id), page, BeersController.PageSize); var resourceList = new BeerListRepresentation(beers.ToList()) { Total = beers.TotalResults }; return resourceList; }
public BeerListRepresentation AssociatedBeers(int id, int page) { var beers = repository.Find(new GetBeersQuery(b => b.Style.Id == id), page, BeersController.PageSize); var resourceList = new BeerListRepresentation(beers.ToList()) { Total = beers.TotalResults }; return(resourceList); }
public BeerListRepresentation GetPage(int page) { var beers = repository.Find(new GetBeersQuery(), page, PageSize); var resourceList = new BeerListRepresentation(beers.ToList()) { Total = beers.TotalResults, Page = page }; if (page > 1) resourceList.Links.Add(LinkTemplates.Beers.GetBeers.CreateLink("prev", _page => page - 1)); if (page < beers.TotalPages) resourceList.Links.Add(LinkTemplates.Beers.GetBeers.CreateLink("next", _page => page + 1)); return resourceList; }
public BeerListRepresentation Search(string searchTerm, int page = 1) { var beers = repository.Find(new GetBeersQuery(b => b.Name.Contains(searchTerm)), page, PageSize); // snap page back to actual page found if (page > beers.TotalPages) page = beers.TotalPages; //var link = LinkTemplates.Beers.SearchBeers.CreateLink(new { searchTerm, page }); var beersResource = new BeerListRepresentation(beers.ToList(), beers.TotalResults, beers.TotalPages, page, LinkTemplates.Beers.SearchBeers, new { searchTerm }) { Page = page, TotalResults = beers.TotalResults }; return beersResource; }
public BeerListRepresentation Search(string searchTerm, int page) { var beers = repository.Find(new GetBeersQuery(b => b.Name.Contains(searchTerm)), page, PageSize); var link = LinkTemplates.Beers.SearchBeers.CreateLink(new{searchTerm, page}); var beersResource = new BeerListRepresentation(beers.ToList(), beers.TotalResults, beers.TotalPages, page, link) { Page = 1, TotalResults = beers.TotalResults, Rel = link.Rel, Href = link.Href }; if (page > 1) beersResource.Links.Add(LinkTemplates.Beers.SearchBeers.CreateLink("prev", new{searchTerm, page = page - 1})); if (page < beers.TotalPages) beersResource.Links.Add(LinkTemplates.Beers.SearchBeers.CreateLink("next", new{searchTerm, page = page + 1})); return beersResource; }
public BeerListRepresentation GetPage(int page) { var beers = repository.Find(new GetBeersQuery(), page, PageSize); var resourceList = new BeerListRepresentation(beers.ToList()) { Total = beers.TotalResults, Page = page }; if (page > 1) { resourceList.Links.Add(LinkTemplates.Beers.GetBeers.CreateLink("prev", _page => page - 1)); } if (page < beers.TotalPages) { resourceList.Links.Add(LinkTemplates.Beers.GetBeers.CreateLink("next", _page => page + 1)); } return(resourceList); }
public ActionResult <BeerListRepresentation> Search(string searchTerm, int page = 1) { var beers = repository.Find(new GetBeersQuery(b => b.Name.Contains(searchTerm)), page, PageSize); // snap page back to actual page found if (page > beers.TotalPages) { page = beers.TotalPages; } //var link = LinkTemplates.Beers.SearchBeers.CreateLink(new { searchTerm, page }); var beersResource = new BeerListRepresentation(beers.ToList(), beers.TotalResults, beers.TotalPages, page, LinkTemplates.Beers.SearchBeers, new { searchTerm }) { Page = page, TotalResults = beers.TotalResults }; return(beersResource); }
public BeerListRepresentation Search(string searchTerm, int page) { var beers = repository.Find(new GetBeersQuery(b => b.Name.Contains(searchTerm)), page, PageSize); var link = LinkTemplates.Beers.SearchBeers.CreateLink(_searchTerm => searchTerm, _page => page); var beersResource = new BeerListRepresentation(beers.ToList()) { Page = 1, Total = beers.TotalResults, Rel = link.Rel, Href = link.Href }; if (page > 1) { beersResource.Links.Add(LinkTemplates.Beers.SearchBeers.CreateLink("prev", _searchTerm => searchTerm, _page => page - 1)); } if (page < beers.TotalPages) { beersResource.Links.Add(LinkTemplates.Beers.SearchBeers.CreateLink("next", _searchTerm => searchTerm, _page => page + 1)); } return(beersResource); }