Exemple #1
0
        public async Task <IActionResult> PutGameGenre([FromRoute] int id, [FromBody] GameGenre gameGenre)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != gameGenre.GameGenreId)
            {
                return(BadRequest());
            }

            _context.Entry(gameGenre).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!GameGenreExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <IActionResult> Edit(int id, [Bind("GameGenreId,Name")] GameGenre gameGenre)
        {
            if (id != gameGenre.GameGenreId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(gameGenre);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!GameGenreExists(gameGenre.GameGenreId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(gameGenre));
        }
Exemple #3
0
        public ActionResult Create([Bind(Include = "GameId,GenreId")] GameGenre gameGenre)
        {
            if (ModelState.IsValid)
            {
                GameGenre tmpGameGenre = db.GameGenres.SingleOrDefault(y => y.GameId == gameGenre.GameId && y.GenreId == gameGenre.GenreId);
                //Game game = db.Games.Find(id);
                if (tmpGameGenre == null)
                {
                    gameGenre.GameGenreId = Guid.NewGuid().ToString();
                    gameGenre.CreateDate  = DateTime.Now;
                    gameGenre.EditDate    = gameGenre.CreateDate;

                    db.GameGenres.Add(gameGenre);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Duplicate Entry Found");
                }
            }

            ViewBag.GameId  = new SelectList(db.Games, "GameId", "Name", gameGenre.GameId);
            ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", gameGenre.GenreId);
            return(View(gameGenre));
        }
Exemple #4
0
        public ActionResult Create([Bind(Include = "GameId,GenreId")] GameGenre model)
        {
            if (ModelState.IsValid)
            {
                GameGenre tmpgamegenre = db.GameGenres
                                         .SingleOrDefault(x => x.GameId == model.GameId && x.GenreId == model.GenreId);
                if (tmpgamegenre == null)
                {
                    model.GameGenreId = Guid.NewGuid().ToString();
                    model.CreateDate  = DateTime.Now;
                    model.EditDate    = model.CreateDate;

                    db.GameGenres.Add(model);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Duplicate key found!");
                }
            }

            ViewBag.GameId  = new SelectList(db.Games, "GameId", "Name", model.GameId);
            ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", model.GenreId);
            return(View(model));
        }
        public IActionResult AddGame(AddGameGenreViewModel model)
        {
            if (ModelState.IsValid)
            {
                int gameId  = model.GameId;
                int genreId = model.GenreId;

                List <GameGenre> existingItems = context.GameGenres
                                                 .Where(gg => gg.GameId == gameId)
                                                 .Where(gg => gg.GenreId == genreId)
                                                 .ToList();

                if (existingItems.Count == 0)
                {
                    GameGenre gameGenre = new GameGenre
                    {
                        GameId  = gameId,
                        GenreId = genreId
                    };
                    context.GameGenres.Add(gameGenre);
                    context.SaveChanges();
                }
                return(Redirect("/Home/Detail/" + gameId));
            }
            return(View(model));
        }
Exemple #6
0
        public IActionResult AddItem(AddGenreItemViewModel addGenreItemViewModel)
        {
            if (ModelState.IsValid)
            {
                var gameID  = addGenreItemViewModel.GameID;
                var genreID = addGenreItemViewModel.GenreID;

                IList <GameGenre> existingItems = context.GameGenres
                                                  .Where(gg => gg.GameID == gameID)
                                                  .Where(gg => gg.GenreID == genreID).ToList();

                if (existingItems.Count == 0)
                {
                    GameGenre genreItem = new GameGenre
                    {
                        //these are the values in the View Model
                        Game  = context.Games.Single(g => g.ID == gameID),
                        Genre = context.Genres.Single(g => g.ID == genreID)
                    };

                    context.GameGenres.Add(genreItem);
                    context.SaveChanges();
                }

                return(Redirect(string.Format("/Genre/ViewGenre/" + addGenreItemViewModel.GenreID)));
            }
            return(View(addGenreItemViewModel));
        }
Exemple #7
0
        public void GenerateGameGenres()
        {
            Random rand = new Random();

            List <Game>  games  = Context.Games.ToList();
            List <Genre> genres = Context.Genres.ToList();

            foreach (Game game in games)
            {
                for (int i = 0; i < rand.Next(1, 4); ++i)
                {
                    if (i < genres.Count)
                    {
                        GameGenre gameGenre = new GameGenre
                        {
                            GameId  = game.ID,
                            GenreId = genres[i].ID,
                        };

                        Context.GameGenres.Add(gameGenre);
                    }
                }
            }

            Context.SaveChanges();
        }
Exemple #8
0
        public IActionResult ProcessAddGameForm(AddGameViewModel addGameViewModel, string[] selectedGenres)
        {
            if (ModelState.IsValid)
            {
                Developer developer = context.Developers.Find(addGameViewModel.DeveloperId);
                Game      game      = new Game
                {
                    Name        = addGameViewModel.Name,
                    Description = addGameViewModel.Description,
                    Cover       = addGameViewModel.Cover,
                    ReleaseDate = addGameViewModel.ReleaseDate,
                    Developer   = developer
                };

                foreach (string genre in selectedGenres)
                {
                    GameGenre gameGenre = new GameGenre
                    {
                        Game    = game,
                        GameId  = game.Id,
                        GenreId = int.Parse(genre)
                    };
                    context.GameGenres.Add(gameGenre);
                }
                context.Games.Add(game);
                context.SaveChanges();

                return(Redirect("Index"));
            }
            return(View("AddGame", addGameViewModel));
        }
        // game response handler helper method w/ http request message as parameter
        private async Task <IEnumerable <Game> > GameResponseHandler(HttpRequestMessage request)
        {
            // create a client using _clientFactory.
            var client = _clientFactory.CreateClient("igdb");
            // wait for response from the client.
            var response = await client.SendAsync(request);

            // reads the JSON response as a string.
            var gamesAsJson = await response.Content.ReadAsStringAsync();

            // deserializes gamesAsJson into a List<Game>.
            var deserializedGames = JsonConvert.DeserializeObject <List <Game> >(gamesAsJson);

            // create an empty list of games.
            List <Game> games = new List <Game>();

            foreach (var game in deserializedGames)
            {
                // declares a new Game. properties are set from API response.
                Game newGame = new Game
                {
                    GameId             = game.GameId,
                    Name               = game.Name,
                    Summary            = game.Summary,
                    first_release_date = game.first_release_date,
                    GenreIds           = game.GenreIds,
                    PlatformIds        = game.PlatformIds,
                    CoverId            = game.CoverId
                };
                // adds new game to the list of games.
                games.Add(newGame);

                /*** Games have a many to many relationship with Platforms and Genres. ***/
                // if the newGame GenreId and PlatformId are not null
                if (newGame.GenreIds != null && newGame.PlatformIds != null)
                {
                    // for each genreId create a new GameGenre and set the values to the id of the Game and Genre.
                    foreach (var genreId in newGame.GenreIds)
                    {
                        GameGenre gameGenre = new GameGenre
                        {
                            GameId  = newGame.GameId,
                            GenreId = genreId
                        };
                    }
                    // for each platformId create a new GameGenre and set the values to the id of the Game and Platform.
                    foreach (var platformId in newGame.PlatformIds)
                    {
                        GamePlatform gamePlatform = new GamePlatform
                        {
                            GameId     = newGame.GameId,
                            PlatformId = platformId
                        };
                    }
                }
            }
            // return the list of games.
            return(games);
        }
Exemple #10
0
        public GameGenre Build()
        {
            var result = _gameGenre;

            _gameGenre = new GameGenre();

            return(result);
        }
Exemple #11
0
 public void Delete(GameGenre entity)
 {
     if (_db.Entry(entity).State == EntityState.Detached)
     {
         _db.Attach(entity);
     }
     _db.GameGenres.Remove(entity);
 }
Exemple #12
0
 public void Update(GameGenre entity)
 {
     if (_db.Entry(entity).State == EntityState.Detached)
     {
         _db.GameGenres.Attach(entity);
     }
     _db.Entry(entity).State = EntityState.Modified;
 }
        public ActionResult DeleteConfirmed(string id)
        {
            GameGenre gameGenre = db.GameGenres.Find(id);

            db.GameGenres.Remove(gameGenre);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #14
0
        public void GameGenreTestConstructorTest()
        {
            var gameGenre = new GameGenre();

            Assert.AreEqual(gameGenre.Id, 0);
            Assert.AreEqual(gameGenre.GameId, 0);
            Assert.AreEqual(gameGenre.GenreId, 0);
        }
Exemple #15
0
        public void GameGenreGenerateDeleteStatementTest()
        {
            var gameGenre = new GameGenre(
                1,
                2,
                3);

            Assert.AreEqual(gameGenre.GenerateDeleteStatement(), "DELETE FROM GameGenre WHERE Id = 1");
        }
Exemple #16
0
        public void GameGenreGenerateUpdateStatementTest()
        {
            var gameGenre = new GameGenre(
                1,
                2,
                3);

            Assert.AreEqual(gameGenre.GenerateUpdateStatement(), "UPDATE GameGenre SET GameId = 2, GenreId = 3 WHERE Id = 1");
        }
Exemple #17
0
        public void GameGenreGenerateExistsQueryTest()
        {
            var gameGenre = new GameGenre(
                1,
                2,
                3);

            Assert.AreEqual(gameGenre.GenerateExistsQuery(), "SELECT Id FROM GameGenre WHERE Id = 1");
        }
Exemple #18
0
 public Game(string title, string description, GameGenre genre, string logo, string exe)
 {
     ID = this.GetHashCode().ToString();
     Title = title;
     Description = description;
     Genre = genre;
     Logo = logo;
     Exe = exe;
 }
Exemple #19
0
 public Game(string id, string title, string description, GameGenre genre, string logo, string exe)
 {
     ID = id;
     Title = title;
     Description = description;
     Genre = genre;
     Logo = logo;
     Exe = exe;
 }
Exemple #20
0
        public void GameGenreGenerateInsertStatementTest()
        {
            var gameGenre = new GameGenre(
                1,
                2,
                3);

            Assert.AreEqual(gameGenre.GenerateInsertStatement(), "INSERT INTO GameGenre (GameId, GenreId) VALUES (2, 3)");
        }
Exemple #21
0
 public object Remove(GameGenre gameGenre)
 {
     try {
         _repo.Remove(gameGenre);
         return(NoContent());
     } catch (Exception error) {
         throw error;
     }
 }
Exemple #22
0
 public void Delete(int gameId, int genreID)
 {
     using (var db = new GameMarketContext())
     {
         gameGenreUpdate = db.GameGenres.Where(c => c.GameId == gameId && c.GenreId == genreID).FirstOrDefault();
         db.GameGenres.Remove(gameGenreUpdate);
         db.SaveChanges();
     }
 }
Exemple #23
0
        public ActionResult Edit([Bind(Include = "GameId,Name,IsMultiplayer, GenreIds")] Game game, string[] GenreIds)
        {
            if (ModelState.IsValid)
            {
                Game tmpgame = db.Games.Find(game.GameId);
                if (tmpgame != null)
                {
                    Game checkgame = db.Games.SingleOrDefault(x => x.Name == game.Name && x.IsMultiplayer == game.IsMultiplayer && x.GameId != game.GameId);
                    if (checkgame == null)
                    {
                        tmpgame.Name          = game.Name;
                        tmpgame.EditDate      = DateTime.Now;
                        tmpgame.IsMultiplayer = game.IsMultiplayer;

                        db.Entry(tmpgame).State = EntityState.Modified;

                        //items to remove
                        var removeItems = tmpgame.Genres.Where(x => !GenreIds.Contains(x.GenreId)).ToList();
                        foreach (var removeItem in removeItems)
                        {
                            db.Entry(removeItem).State = EntityState.Deleted;
                        }
                        //items to add
                        if (GenreIds != null)
                        {
                            var addItems = GenreIds.Where(x => !tmpgame.Genres.Select(y => y.GenreId).Contains(x));
                            foreach (var addItem in addItems)
                            {
                                GameGenre gameGenre = new GameGenre();

                                gameGenre.GameGenreId = Guid.NewGuid().ToString();
                                gameGenre.CreateDate  = DateTime.Now;
                                gameGenre.EditDate    = gameGenre.CreateDate;

                                gameGenre.GameId  = tmpgame.GameId;
                                gameGenre.GenreId = addItem;
                                db.GameGenres.Add(gameGenre);
                                //db.Entry(addItem).State = EntityState.Added;
                            }
                        }

                        db.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Duplicate Game detected.");
                    }
                }
            }
            //ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", game.GenreId);
            ViewBag.Genres = new MultiSelectList(db.Genres.ToList(), "GenreId", "Name", GenreIds);
            return(View(game));
        }
        public async Task <IActionResult> Create([Bind("GameGenreId,Name")] GameGenre gameGenre)
        {
            if (ModelState.IsValid)
            {
                _context.Add(gameGenre);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(gameGenre));
        }
Exemple #25
0
        public async Task <long> AddGenre(string name)
        {
            var genreEntity = new GameGenre()
            {
                Name = name
            };
            var result = await _context.AddAsync <GameGenre>(genreEntity);

            await _context.SaveChangesAsync();

            return(result.Entity.GameGenreId);
        }
Exemple #26
0
        public async Task <IActionResult> PostGameGenre([FromBody] GameGenre gameGenre)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.GameGenre.Add(gameGenre);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetGameGenre", new { id = gameGenre.GameGenreId }, gameGenre));
        }
Exemple #27
0
 public ActionResult Edit([Bind(Include = "GameGenreId,CreateDate,EditDate,GameId,GenreId")] GameGenre gameGenre)
 {
     if (ModelState.IsValid)
     {
         db.Entry(gameGenre).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.GameId  = new SelectList(db.Games, "GameId", "Name", gameGenre.GameId);
     ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", gameGenre.GenreId);
     return(View(gameGenre));
 }
        public async Task <GameGenreResponse> SaveAsync(GameGenre gameGenre)
        {
            try{
                await gameGenreRepository.AddAsync(gameGenre);

                await unitOfWork.CompleteAsync();

                return(new GameGenreResponse(gameGenre));
            }
            catch (Exception ex) {
                return(new GameGenreResponse($"Error while saving game' genre. Message:{ex.Message}"));
            }
        }
Exemple #29
0
        public void Create(int gameID, int genreID)
        {
            GameGenre newGameGenre = new GameGenre()
            {
                GameId = gameID, GenreId = genreID
            };

            using (var db = new GameMarketContext())
            {
                db.GameGenres.Add(newGameGenre);
                db.SaveChanges();
            }
        }
Exemple #30
0
        public IActionResult List(GameGenre genre)
        {
            IEnumerable <GameListItemViewModel> latest = gameAppService.GetLatest(CurrentUserId, 200, Guid.Empty, null, genre);

            ViewBag.Games     = latest;
            ViewData["Genre"] = genre;

            Dictionary <GameGenre, UiInfoAttribute> genreDict = Enum.GetValues(typeof(GameGenre)).Cast <GameGenre>().ToUiInfoDictionary();

            ViewData["Genres"] = genreDict;

            return(View());
        }
Exemple #31
0
        public void GameGenreGeneratePrimaryKeyWhereClauseTest()
        {
            var gameGenre = new GameGenre();

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

            gameGenre = new GameGenre(
                1,
                2,
                3);

            Assert.AreEqual(gameGenre.GeneratePrimaryKeyWhereClause(), "Id = 1");
        }
Exemple #32
0
        public void GameGenreGenerateSelectQueryTest()
        {
            var gameGenre = new GameGenre();

            Assert.AreEqual(gameGenre.GenerateSelectQuery(), "SELECT Id, GameId, GenreId FROM GameGenre");

            gameGenre = new GameGenre(
                1,
                2,
                3);

            Assert.AreEqual(gameGenre.GenerateSelectQuery(), "SELECT Id, GameId, GenreId FROM GameGenre WHERE Id = 1");
        }