Пример #1
0
 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());
     }
 }
Пример #2
0
 //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());
 }
Пример #3
0
 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
         }));
     }
 }
Пример #4
0
 //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());
 }
Пример #5
0
        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);
        }
Пример #6
0
        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);
            }
        }
Пример #7
0
        // GET api/<controller>
        public IEnumerable <News> Get()
        {
            List <News> news;

            using (var context = new gamebase1Entities())
            {
                news = context.News.Take(10).ToList();
            }

            return(news);
        }
Пример #8
0
 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
         }));
     }
 }
Пример #9
0
 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());
     }
 }
Пример #10
0
        //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);
        }
Пример #11
0
        //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
            }
        }