public IHttpActionResult ChangeName(User name) { using (var context = new gamebase1Entities()) { var identity = User.Identity as ClaimsIdentity; //each authorized request merong username na nakaattach sa mga request so need natin i extract mga yun at i match sa db var claims = from c in identity.Claims //extracting the username in var identity select new { subject = c.Subject.Name, type = c.Type, value = c.Value }; var userName = claims.ToList()[0].value.ToString(); //converting to string AspNetUser user = context.AspNetUsers.Where(u => u.UserName == userName).Single(); if (name.FirstName != null) { user.FirstName = name.FirstName; } if (name.LastName != null) { user.LastName = name.LastName; } context.SaveChanges(); return(Ok()); } }
//lets you do a authorized command wherein you can favorite a game using its gameid public IHttpActionResult SetAsFavorite(Guid gameId) { using (var context = new gamebase1Entities()) { var identity = User.Identity as ClaimsIdentity; //each authorized request merong username na nakaattach sa mga request so need natin i extract mga yun at i match sa db var claims = from c in identity.Claims //extracting the username in var identity select new { subject = c.Subject.Name, type = c.Type, value = c.Value }; var userName = claims.ToList()[0].value.ToString(); //converting to string AspNetUser user = context.AspNetUsers.Where(u => u.UserName == userName).Single(); Favorite favorite = new Favorite { FavoriteID = Guid.NewGuid(), GameID = gameId, UserID = user.Id, DateFavorite = DateTime.Now }; context.Favorites.Add(favorite); //performing transaction context.SaveChanges(); //saving to db } return(Ok()); }
public IHttpActionResult GetAuthenticatedUserInfo() { using (var context = new gamebase1Entities()) { var identity = User.Identity as ClaimsIdentity; //each authorized request merong username na nakaattach sa mga request so need natin i extract mga yun at i match sa db var claims = from c in identity.Claims //extracting the username in var identity select new { subject = c.Subject.Name, type = c.Type, value = c.Value }; var userName = claims.ToList()[0].value.ToString(); //converting to string AspNetUser user = context.AspNetUsers.Where(u => u.UserName == userName).Single(); int favoriteCount = context.Favorites.Where(u => u.UserID == user.Id).Count(); int reviewCount = context.Reviews.Where(u => u.UserID == user.Id).Count(); return(Ok(new UserProfileInfoModel { FirstName = user.FirstName, LastName = user.LastName, UserName = user.UserName, Avatar = user.Avatar, FavoriteCount = favoriteCount, ReviewCount = reviewCount, UserId = user.Id })); } }
//post a review to a gameid given user is identified public IHttpActionResult PostReview(Guid gameId, [FromBody] Review review) { using (var context = new gamebase1Entities()) { try { var identity = User.Identity as ClaimsIdentity; //each authorized request merong username na nakaattach sa mga request so need natin i extract mga yun at i match sa db var claims = from c in identity.Claims //extracting the username in var identity select new { subject = c.Subject.Name, type = c.Type, value = c.Value }; var userName = claims.ToList()[0].value.ToString(); //converting to string AspNetUser user = context.AspNetUsers.Where(u => u.UserName == userName).Single(); review.GameID = gameId; review.UserID = user.Id; review.DateReview = DateTime.Now; review.ReviewID = Guid.NewGuid(); context.Reviews.Add(review); context.SaveChanges(); } catch (Exception err) { BadRequest(err.Message.ToString()); } } return(Ok()); }
public IEnumerable <Game> GetNewGames(string c = "10") { List <Game> game; using (var context = new gamebase1Entities()) { game = context.Games.OrderByDescending(g => g.GameReleased).Take(Int32.Parse(c)).ToList(); /// get two games from db wala pang rankings ito or whatever } return(game); }
public IEnumerable <Game> Get(string q, string c = "5") { List <Game> results; using (var context = new gamebase1Entities()) { IQueryable <Game> searchresults = context.Games.Where(g => g.GameTitle.ToLower().Contains(q)).Take(int.Parse(c)); results = searchresults.ToList(); return(results); } }
// GET api/<controller> public IEnumerable <News> Get() { List <News> news; using (var context = new gamebase1Entities()) { news = context.News.Take(10).ToList(); } return(news); }
public IHttpActionResult GetUser(string userId) { using (var context = new gamebase1Entities()) { AspNetUser user = context.AspNetUsers.Where(u => u.Id == userId).Single(); int favoriteCount = context.Favorites.Where(u => u.UserID == user.Id).Count(); int reviewCount = context.Reviews.Where(u => u.UserID == user.Id).Count(); return(Ok(new UserProfileInfoModel { FirstName = user.FirstName, LastName = user.LastName, UserName = user.UserName, Avatar = user.Avatar, FavoriteCount = favoriteCount, ReviewCount = reviewCount, UserId = user.Id })); } }
public IEnumerable <ReviewModel> GetUserReviews(string userId) { using (var context = new gamebase1Entities()) { IQueryable <Review> reviews = context.Reviews.Where(f => f.UserID == userId).OrderByDescending(s => s.DateReview); //Convert to a new model kasi exposed yung password ng user pag ginamit yung default review model IQueryable <ReviewModel> r = reviews.Select(s => new ReviewModel { ReviewID = s.ReviewID, GameID = s.GameID, Game = context.Games.Where(u => u.GameID == s.GameID).FirstOrDefault(), UserID = s.UserID, UserName = s.AspNetUser.UserName, ReviewText = s.ReviewText, StarRating = s.StarRating, DateReview = s.DateReview }); return(r.ToList()); } }
//an authorized request wherein it maches users favorite game public IEnumerable <Game> GetFavorites(string userId) { List <Game> game; using (var context = new gamebase1Entities()) { game = (from u in context.AspNetUsers join f in context.Favorites on u.Id equals f.UserID join g in context.Games on f.GameID equals g.GameID where u.Id == userId orderby f.DateFavorite descending select g ).ToList(); // this performs a join command wherein it searches favorite table games that favorite by the username } return(game); }
//gets game information public async Task <IHttpActionResult> GetGame(Guid id) { using (var context = new gamebase1Entities()) { var identity = User.Identity as ClaimsIdentity; var claims = from c in identity.Claims //extracting the username in var identity select new { subject = c.Subject.Name, type = c.Type, value = c.Value }; double ratingAvg = (from r in context.Reviews where r.GameID == id select r.StarRating).DefaultIfEmpty(0).Average(); ratingAvg = Math.Round(ratingAvg, 2); try { var userName = claims.ToList()[0].value.ToString(); //converting to string AspNetUser user = context.AspNetUsers.Where(u => u.UserName == userName).Single(); if (identity.IsAuthenticated) { Game game = context.Games.Where(p => p.GameID == id).Single(); Favorite favorite = context.Favorites.Where(u => u.GameID == game.GameID && u.UserID == user.Id).SingleOrDefault(); GameModel g = new GameModel { GameID = game.GameID, GameTitle = game.GameTitle, GameImageURL = game.GameImageURL, GameReleased = game.GameReleased, Developer = game.Developer, MatureRating = game.MatureRating, Synopsis = game.Synopsis, isFavorite = favorite != null ? true : false, StarRating = ratingAvg }; if (g == null) { return(NotFound()); } return(Ok(g)); } else { IQueryable <Game> game = context.Games.Where(p => p.GameID == id); Game z = game.ToList()[0]; GameModel g = new GameModel { GameID = z.GameID, GameTitle = z.GameTitle, GameImageURL = z.GameImageURL, GameReleased = z.GameReleased, Developer = z.Developer, MatureRating = z.MatureRating, Synopsis = z.Synopsis, StarRating = ratingAvg }; if (g == null) { return(NotFound()); } return(Ok(g)); } } catch (Exception err) { IQueryable <Game> game = context.Games.Where(p => p.GameID == id); Game z = game.ToList()[0]; GameModel g = new GameModel { GameID = z.GameID, GameTitle = z.GameTitle, GameImageURL = z.GameImageURL, GameReleased = z.GameReleased, Developer = z.Developer, MatureRating = z.MatureRating, Synopsis = z.Synopsis, StarRating = ratingAvg }; if (g == null) { return(NotFound()); } return(Ok(g)); } //if not authorized use this return } }