public async Task <ActionResult <IEnumerable <BookView> > > Get([FromQuery] GetBookParam param) { var dataSource = await dbContext.Books .Select(book => new BookView { Title = book.Title, Date = book.Date }) .ToListAsync(); if (string.IsNullOrWhiteSpace(param.Title)) { return(dataSource); } return(dataSource.Where(item => item.Title.ToLower() .Contains(param.Title.ToLower())) .ToList()); }
[HttpGet] //dikasih tau kalo ini get(atribut) public async Task <ActionResult <IEnumerable <BookView> > > Get([FromQuery] GetBookParam param) //API endpoint { var dataSource = await dbContext.Books .Select(book => new BookView { Title = book.Title, Date = book.Date }) //SELECT Title, Date FROM Books .ToListAsync(); //ToList => ToListAsync //ToListAsync => untuk operation asynchronous, tidak bisa dipakai untuk variabel if (string.IsNullOrWhiteSpace(param.Title)) //validasi parameter { return(dataSource); } //object.method(callback function).tolist() return(dataSource .Where(item => item.Title.ToLower().Contains(param.Title.ToLower())) .ToList()); }
public ActionResult <IEnumerable <Book> > Get([FromQuery] GetBookParam param) { var dataSource = new Book[] { new Book { Title = "Harry Potter", Date = DateTime.Now }, new Book { Title = "Lion King", Date = DateTime.Now } }; if (string.IsNullOrEmpty(param.Title)) { return(dataSource); } return(dataSource .Where(item => item.Title.ToLower().Contains(param.Title.ToLower())) .ToList()); }
public async Task <ActionResult <IEnumerable <BookView> > > Get([FromQuery] GetBookParam param) { var datasource = await dbContext.Books .Select(book => new BookView { //Id = book.Id, optional Title = book.Title, Date = book.Date }).ToListAsync(); if (string.IsNullOrWhiteSpace(param.Title)) { return(datasource); } this.dbContext.SaveChanges(); return(datasource .Where(item => item.Title.ToLower().Contains(param.Title.ToLower())) .ToList()); // return datasource // .Where(item => item.Title.Contains(param.Title, StringComparison.OrdinalIgnoreCase)) // .ToList(); }