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());
        }
Beispiel #2
0
        [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();
        }