コード例 #1
0
        public List <GameReview> GetAllGameReviewByUserId(int id)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand cmd = new SqlCommand("Select * From [dbo].[GameReview], [dbo].[Game] WHERE GameReview.userId = @id AND GameReview.GameId = Game.id", connection);
                connection.Open();

                cmd.Parameters.AddWithValue("id", id);
                var reader = cmd.ExecuteReader();

                List <GameReview> gameReviews = new List <GameReview>();

                while (reader.Read())
                {
                    GameReview gr = new GameReview()
                    {
                        ReviewId = reader.GetInt32(0),
                        Thoughts = reader.GetString(1),
                        Score    = reader.GetInt32(2),
                        Game     = new Game()
                        {
                            ItemID     = reader.GetInt32(3),
                            ItemName   = reader.GetString(6),
                            Picture    = reader.GetString(7),
                            Genre      = reader.GetString(8),
                            PlayedTime = reader.GetInt32(9)
                        }
                    };
                    gameReviews.Add(gr);
                }
                return(gameReviews);
            };
        }
コード例 #2
0
        public void Setup()
        {
            m_EntityOne = new GameReview
            {
                Id          = Guid.Parse("10000000-0000-0000-0000-000000000000"),
                Title       = "Title 1",
                Description = "Description 1",
                Rating      = 1
            };

            m_EntityTwo = new GameReview
            {
                Id          = Guid.Parse("20000000-0000-0000-0000-000000000000"),
                Title       = "Title 2",
                Description = "Description 2",
                Rating      = 2
            };

            m_Entities = new[]
            {
                m_EntityOne,
                m_EntityTwo
            }.AsQueryable();

            var mocker = new NSubstituteAutoMocker <InformationFinder>();

            m_Command = mocker.Get <ICommandGamesReviewsRepository>();
            m_Query   = mocker.Get <IQueryGamesReviewsRepository>();

            m_Sut = mocker.ClassUnderTest;
        }
コード例 #3
0
        public async Task <IActionResult> Edit(int id, [Bind("GameID,ApplicationUserID,Star,Review,IsVerify")] GameReview gameReview)
        {
            if (id != gameReview.GameID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(gameReview);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!GameReviewExists(gameReview.GameID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ApplicationUserID"] = new SelectList(_context.ApplicationUsers, "Id", "Id", gameReview.ApplicationUserID);
            ViewData["GameID"]            = new SelectList(_context.Games, "ID", "ID", gameReview.GameID);
            return(View(gameReview));
        }
コード例 #4
0
ファイル: ModelsMapper.cs プロジェクト: vanmxpx/ISDPlatform
        public GameReview Map(GameReviewDb gameReview)
        {
            GameReview gameReview_newType = new GameReview();

            #region Transfer main attributes

            gameReview_newType.Id         = gameReview.Id;
            gameReview_newType.Content    = gameReview.Content;
            gameReview_newType.CreateDate = gameReview.CreateDate;
            gameReview_newType.Rating     = gameReview.Rating;

            #endregion

            #region Transfering interop attributes

            gameReview_newType.Reviewer = new User()
            {
                Id = gameReview.IdReviewer
            };
            gameReview_newType.Game = new Game()
            {
                Id = gameReview.IdGame
            };

            #endregion

            return(gameReview_newType);
        }
コード例 #5
0
        // GET: GameReview/Create
        public ActionResult Create(int?gameId, int?userId)
        {
            if (!gameId.HasValue || !userId.HasValue)
            {
                //either value is null
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            if (!db.Game.Any(g => g.id == gameId) || !db.Member.Any(u => u.id == userId))
            {
                //either id does not exist
                return(HttpNotFound());
            }
            if (db.GameReview.Any(gr => gr.gameId == gameId && gr.userId == userId))
            {
                //review for this game by this user exists
                GameReview gameReview = db.GameReview.FirstOrDefault(gr => gr.gameId == gameId && gr.userId == userId);
                return(RedirectToAction("Edit", new { id = gameReview.id }));
            }
            GameReview r      = db.GameReview.ToList().LastOrDefault();
            GameReview review = new GameReview()
            {
                id     = r.id + 1,
                gameId = gameId.Value,
                userId = userId.Value,
                Game   = db.Game.Find(gameId)
            };

            return(View(review));
        }
コード例 #6
0
        public void GameReviewTestConstructorTest()
        {
            var gameReview = new GameReview();

            Assert.AreEqual(gameReview.Id, 0);
            Assert.AreEqual(gameReview.GameId, 0);
            Assert.AreEqual(gameReview.ReviewId, 0);
        }
コード例 #7
0
        public ActionResult DeleteConfirmed(int id)
        {
            GameReview gameReview = db.GameReview.Find(id);

            db.GameReview.Remove(gameReview);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #8
0
        public void GameReviewGenerateExistsQueryTest()
        {
            var gameReview = new GameReview(
                1,
                2,
                3);

            Assert.AreEqual(gameReview.GenerateExistsQuery(), "SELECT Id FROM GameReview WHERE Id = 1");
        }
コード例 #9
0
        public void GameReviewGenerateUpdateStatementTest()
        {
            var gameReview = new GameReview(
                1,
                2,
                3);

            Assert.AreEqual(gameReview.GenerateUpdateStatement(), "UPDATE GameReview SET GameId = 2, ReviewId = 3 WHERE Id = 1");
        }
コード例 #10
0
        public void GameReviewGenerateInsertStatementTest()
        {
            var gameReview = new GameReview(
                1,
                2,
                3);

            Assert.AreEqual(gameReview.GenerateInsertStatement(), "INSERT INTO GameReview (GameId, ReviewId) VALUES (2, 3)");
        }
コード例 #11
0
        public void GameReviewGenerateDeleteStatementTest()
        {
            var gameReview = new GameReview(
                1,
                2,
                3);

            Assert.AreEqual(gameReview.GenerateDeleteStatement(), "DELETE FROM GameReview WHERE Id = 1");
        }
コード例 #12
0
 public ActionResult Edit([Bind(Include = "id,gameId,userId,rating,details")] GameReview gameReview)
 {
     if (ModelState.IsValid)
     {
         db.Entry(gameReview).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(gameReview));
 }
コード例 #13
0
 public ActionResult Create([Bind(Include = "id,gameId,userId,rating,details")] GameReview gameReview)
 {
     if (ModelState.IsValid)
     {
         db.GameReview.Add(gameReview);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(gameReview));
 }
コード例 #14
0
        public void Setup()
        {
            memberGuid = new Guid("2A384A50-E02A-43C9-AEB8-974DF0D32C38");
            gameProductGuid = new Guid("12803115-7E2B-4E34-A492-C388DD37E6AF");

            pendinGameReview = new GameReview()
            {
                MemberId = memberGuid,
                ProductReviewedId = gameProductGuid,
                ReviewStatus = ReviewStatus.Pending
            };

            approvedGameReview = new GameReview()
            {
                MemberId = memberGuid,
                ProductReviewedId = gameProductGuid,
                ReviewStatus = ReviewStatus.Approved
            };

            deniedGameReview = new GameReview()
            {
                MemberId = memberGuid,
                ProductReviewedId = gameProductGuid,
                ReviewStatus = ReviewStatus.Denied
            };

            physicalGameProduct = new PhysicalGameProduct
            {
                Reviews = new List<GameReview>()
                {
                    approvedGameReview
                }
            };

            game = new Game()
            {
                GameSKUs = new List<GameProduct> {physicalGameProduct},
            };

            memberId = new Guid("DB6EF48B-839E-4A54-AFA2-B772738D01DB");

            ratingOnlyReview = new GameReview
            {
                ProductReviewed = physicalGameProduct,
                Rating = 5
            };

            fullReview = new GameReview
            {
                ProductReviewed = physicalGameProduct,
                Rating = 4,
                ReviewText = "Test"
            };
        }
コード例 #15
0
        private IGameReview ToGameReview(IGameReviewModel model)
        {
            IGameReview instance = new GameReview
            {
                Id          = model.Id,
                Title       = model.Title,
                Description = model.Description,
                Rating      = model.Rating
            };

            return(instance);
        }
コード例 #16
0
        public GameReview Get(long id)
        {
            GameReviewDb gameReview          = gameReviewDAO.GetExtended(id);
            GameReview   gameReview_newTyped = null;

            if (gameReview != null)
            {
                gameReview_newTyped = mapper.Map(gameReview);
            }

            return(gameReview_newTyped);
        }
コード例 #17
0
        public void GameReviewGeneratePrimaryKeyWhereClauseTest()
        {
            var gameReview = new GameReview();

            Assert.AreEqual(gameReview.GeneratePrimaryKeyWhereClause(), "");

            gameReview = new GameReview(
                1,
                2,
                3);

            Assert.AreEqual(gameReview.GeneratePrimaryKeyWhereClause(), "Id = 1");
        }
コード例 #18
0
        public void GameReviewGenerateSelectQueryTest()
        {
            var gameReview = new GameReview();

            Assert.AreEqual(gameReview.GenerateSelectQuery(), "SELECT Id, GameId, ReviewId FROM GameReview");

            gameReview = new GameReview(
                1,
                2,
                3);

            Assert.AreEqual(gameReview.GenerateSelectQuery(), "SELECT Id, GameId, ReviewId FROM GameReview WHERE Id = 1");
        }
コード例 #19
0
 public static GameReviewApprovalModel GameReviewToGameReviewApprovalModel(this GameReview review, string reviewerName, string gameTitle)
 {
     return(new GameReviewApprovalModel
     {
         Id = review.Id,
         CreatedBy = reviewerName,
         GameName = gameTitle,
         ReviewText = review.ReviewText,
         CreatedOn = review.CreatedOn,
         EditedOn = review.EditedOn,
         Approved = review.Approved
     });
 }
コード例 #20
0
        // GET: GameReview/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            GameReview gameReview = db.GameReview.Find(id);

            if (gameReview == null)
            {
                return(HttpNotFound());
            }
            return(View(gameReview));
        }
コード例 #21
0
        public void GameReviewXmlCloneTest()
        {
            var gameReview1 = new GameReview(
                1,
                2,
                3);

            var gameReview2 = CloneUtility.XmlClone(gameReview1, null);

            Assert.AreNotSame(gameReview1, gameReview2);

            Assert.AreEqual(gameReview1.Id, gameReview2.Id);
            Assert.AreEqual(gameReview1.GameId, gameReview2.GameId);
            Assert.AreEqual(gameReview1.ReviewId, gameReview2.ReviewId);
        }
コード例 #22
0
ファイル: Details.cshtml.cs プロジェクト: jsteff/GameTracker
        public async Task <IActionResult> OnGetAsync(Guid?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            GameReview = await _context.GameReviews.FirstOrDefaultAsync(m => m.Id == id);

            if (GameReview == null)
            {
                return(NotFound());
            }
            return(Page());
        }
コード例 #23
0
        /// <summary>
        /// Submits the review comments for game
        /// </summary>
        public void RateGame()
        {
            GameReview review = new GameReview()
            {
                GameId         = this.Game.Id,
                ReviewComments = this.ReviewComments,
                GameRatingId   = this.SelectedGameRating.Id
            };

            this._gameService.PostReview(review);

            // close the pop up and load game list view
            TryClose();
            LoadGameList();
        }
コード例 #24
0
        public GameReview PostGameReview(GameReview review)
        {
            // validate game identifier
            var game = _context.Games.First(g => g.Id == review.GameId);

            if (game == null)
            {
                return(null);
            }

            _context.GameReviews.Add(review);
            _context.SaveChanges();

            return(review);
        }
コード例 #25
0
        public IEnumerable <GameReview> GetAll()
        {
            List <GameReviewDb> gameReviews = (List <GameReviewDb>)gameReviewDAO.GetAll();

            List <GameReview> gameReviews_newType = new List <GameReview>();

            foreach (GameReviewDb gameReview in gameReviews)
            {
                GameReview gameReview_newType = mapper.Map(gameReview);

                gameReviews_newType.Add(gameReview_newType);
            }

            return(gameReviews_newType);
        }
コード例 #26
0
        //metoda dodająca ocene do gry
        public async Task <ResultDto <BaseDto> > AddReview(ReviewModel reviewModel)
        {
            var result = new ResultDto <BaseDto>()
            {
                Error = null
            };

            //sprawdzam czy gra istnieje
            var gameExists = await _repo.Exists(x => x.Id == reviewModel.EntityId);

            if (!gameExists)
            {
                result.Error = "Nie odnaleziono gry";
                return(result);
            }
            //sprawdzam czy ten użytkownik już dodał recenzje do wybranej gry
            var oldReview = await _reviewRepo.GetSingleEntity(x => x.GameId == reviewModel.EntityId &&
                                                              x.UserId == reviewModel.UserId);


            //jeśli recenzja już jest, zmieniam jej wartość na nową, w przeciwnym wypadku tworze nowa recenzje
            if (oldReview != null)
            {
                if (oldReview.Rating != reviewModel.Rating)
                {
                    oldReview.Rating = reviewModel.Rating;
                    _reviewRepo.Update(oldReview);
                }
            }
            else
            {
                var review = new GameReview()
                {
                    UserId = reviewModel.UserId,
                    GameId = reviewModel.EntityId,
                    Rating = reviewModel.Rating
                };
                _reviewRepo.Add(review);
            }

            //po dodaniu/zmianie recenzji przeliczam średnia ocen dla danej gry
            if (reviewModel.EntityId != 0)
            {
                RecalculateGameReview(reviewModel.EntityId);
            }

            return(result);
        }
コード例 #27
0
        public void GameReviewPropertiesTest()
        {
            var gameReview = new GameReview();

            Assert.AreEqual(gameReview.Id, 0);
            gameReview.Id = 1;
            Assert.AreEqual(gameReview.Id, 1);

            Assert.AreEqual(gameReview.GameId, 0);
            gameReview.GameId = 2;
            Assert.AreEqual(gameReview.GameId, 2);

            Assert.AreEqual(gameReview.ReviewId, 0);
            gameReview.ReviewId = 3;
            Assert.AreEqual(gameReview.ReviewId, 3);
        }
コード例 #28
0
        public void CreateGameReview(string thoughts, int score, int gameId, int userId)
        {
            GameReview gr = new GameReview
            {
                Thoughts = thoughts,
                Score    = score
            };
            Game g = new Game
            {
                ItemID = gameId
            };

            gr.Game = g;

            rda.CreateGameReview(gr, userId);
        }
コード例 #29
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            GameReview = await _context.GameReviews.FindAsync(id);

            if (GameReview != null)
            {
                _context.GameReviews.Remove(GameReview);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
コード例 #30
0
        public JsonResult DeleteReview(GameReview review)
        {
            CVGSAppEntities db = new CVGSAppEntities();

            try
            {
                var memberId    = User.Identity.GetUserId();
                var savedReview = db.GameReviews.FirstOrDefault(r => r.Id == review.Id);
                db.GameReviews.Remove(savedReview);
                db.SaveChanges();
                return(Json(new { Success = true }, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                return(Json(new { Success = false, Error = "Error occurred while deleting review" }, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #31
0
 public void CreateGameReview(GameReview gr, int userId)
 {
     using (SqlConnection connection = new SqlConnection(connectionString))
     {
         connection.Open();
         using (SqlCommand cmd = connection.CreateCommand())
         {
             cmd.CommandText = "Insert Into [dbo].[GameReview](thoughts, score, gameId, userId) values(@thoughts, @score, @gameId, @userId)";
             cmd.Parameters.AddWithValue("thoughts", gr.Thoughts);
             cmd.Parameters.AddWithValue("score", gr.Score);
             cmd.Parameters.AddWithValue("gameId", gr.Game.ItemID);
             cmd.Parameters.AddWithValue("userId", userId);
             cmd.ExecuteNonQuery();
         }
         connection.Close();
     }
 }