public IActionResult Index(SortFilterPageOptionsDto options) { var listBooksService = new ListBooksService(dataContext); IEnumerable <BookListDto> booksList = listBooksService.SortFilterPage(options).ToArray(); return(View(new BookListCombinedDto(HttpContext.TraceIdentifier, options, booksList))); }
public IActionResult Index(SortFilterPageOptions options) { var listService = new ListBooksService(_context); var bookList = listService .SortFilterPage(options) .ToList(); SetupTraceInfo(); //Thsi makes the logging display work return(View(new BookListCombinedDto(options, bookList))); }
public async Task TestListBooksServiceOrderNormalOk() { //SETUP using var context = new BookDbContext(_options); var service = new ListBooksService(context); var sfpOptions = new SortFilterPageOptions(); //ATTEMPT var query = (await service.SortFilterPageAsync(sfpOptions)); //VERIFY _output.WriteLine(query.ToQueryString()); }
public async Task <IActionResult> Index //#A (SortFilterPageOptions options) { var listService = new ListBooksService(_context); var bookList = await listService //#B .SortFilterPage(options) .ToListAsync(); //#C SetupTraceInfo(); //REMOVE THIS FOR BOOK as it could be confusing return(View(new BookListCombinedDto(options, bookList))); }
public ActionResult Index(SortFilterPageOptions options) { var context = new EfCoreContext(); context.Database.Log = message => Trace.Write(message); var listService = new ListBooksService(context); var bookList = listService .SortFilterPage(options) .ToList(); return(View(new BookListCombinedDto (options, bookList))); }
} //#A public IActionResult Index //#B (SortFilterPageOptions options) //#C { var listService = //#D new ListBooksService(_context); //#D var bookList = listService //#E .SortFilterPage(options) //#E .ToList(); //#F var traceIdent = HttpContext.TraceIdentifier; //REMOVE THIS FOR BOOK as it could be confusing return(View(new BookListCombinedDto //#G (traceIdent, options, bookList))); //#G }
public async Task RunBookListAsync() { //SETUP var inMemDb = new SqliteInMemory(); using (var context = inMemDb.GetContextWithSetup()) { context.SeedDatabaseFourBooks(); var service = new ListBooksService(context); //ATTEMPT var books = await service.SortFilterPage(new SortFilterPageOptions()).ToListAsync(); //VERIFY books.Count.ShouldEqual(4); } }
public async Task RunBookListAsync() { //SETUP var options = SqliteInMemory.CreateOptions <EfCoreContext>(); using (var context = new EfCoreContext(options)) { context.Database.EnsureCreated(); context.SeedDatabaseFourBooks(); var service = new ListBooksService(context); //ATTEMPT var books = await service.SortFilterPage(new SortFilterPageOptions()).ToListAsync(); //VERIFY books.Count.ShouldEqual(4); } }
public async Task <IActionResult> Index //#A (SortFilterPageOptions options) { var listService = new ListBooksService(_context); var bookList = listService //#B .SortFilterPage(options) .ToList(); //#C //Because of EF Core 2.0.0 bug https://github.com/aspnet/EntityFrameworkCore/issues/9570 I have dropped this back to sync //var bookList = await listService //#B // .SortFilterPage(options) // .ToListAsync(); //#C SetupTraceInfo(); //REMOVE THIS FOR BOOK as it could be confusing return(View(new BookListCombinedDto (options, bookList))); }
public void PageBooks(int pageSize) { //SETUP var inMemDb = new SqliteInMemory(); const int numBooks = 12; using (var db = inMemDb.GetContextWithSetup()) { db.SeedDatabaseDummyBooks(numBooks); //ATTEMPT var service = new ListBooksService(db); var listOptions = new SortFilterPageOptions() { PageSize = pageSize }; var dtos = service.SortFilterPage(listOptions).ToList(); //VERIFY dtos.Count.ShouldEqual(pageSize); } }
public async Task PageBooks(int pageSize) { //SETUP var numBooks = 12; var options = SqliteInMemory.CreateOptions <BookDbContext>(); using (var context = new BookDbContext(options)) { context.Database.EnsureCreated(); context.SeedDatabaseDummyBooks(numBooks); //ATTEMPT var service = new ListBooksService(context); var listOptions = new SortFilterPageOptions() { PageSize = pageSize }; var dtos = await(await service.SortFilterPageAsync(listOptions)).ToListAsync(); //VERIFY dtos.Count.ShouldEqual(pageSize); } }
public void OrderBooksBy(OrderByOptions orderByOptions) { //SETUP var numBooks = 5; var options = SqliteInMemory.CreateOptions <EfCoreContext>(); using (var context = new EfCoreContext(options)) { context.Database.EnsureCreated(); context.SeedDatabaseDummyBooks(numBooks); //ATTEMPT var service = new ListBooksService(context); var listOptions = new SortFilterPageOptions() { OrderByOptions = orderByOptions }; var dtos = service.SortFilterPage(listOptions).ToList(); //VERIFY dtos.Count.ShouldEqual(numBooks); } }