public async Task <IHttpActionResult> GetFavorite() { var userId = User.Identity.GetUserId(); var user = await _userService.GetUserById(User.Identity.GetUserId()); var userFavoriteNewsIds = user.UserFavorites.Select(i => i.NewsId); var news = _context.Newses.Where(i => userFavoriteNewsIds.Contains(i.NewsId)).ToList(); return(Ok(news.Select(i => NewsModel.Create(i, user)))); }
public async Task <IHttpActionResult> Search(string query) { var news = _context.Newses.Where(i => i.Title.Contains(query) || i.Description.Contains(query)).ToList(); if (!User.Identity.IsAuthenticated) { return(Ok(news.Select(NewsModel.Create))); } var user = await _userService.GetUserById(User.Identity.GetUserId()); return(Ok(news.Select(i => NewsModel.Create(i, user)))); }
public async Task <IHttpActionResult> Get() { var news = _context.Newses.OrderByDescending(i => i.NewsId).Take(20).ToList(); if (!User.Identity.IsAuthenticated) { return(Ok(news.Select(NewsModel.Create))); } var user = await _userService.GetUserById(User.Identity.GetUserId()); return(Ok(news.Select(i => NewsModel.Create(i, user)))); }