Example #1
0
        public async Task <IActionResult> Update(GamesUpdateViewModel model)
        {
            var game = await _db.Games
                       .Include(item => item.GamePrice)
                       .Include(item => item.GameImage)
                       .Include(item => item.Recommendation)
                       .Include(item => item.Minimum)
                       .Include(item => item.GameTags)
                       .FirstOrDefaultAsync(item => item.Id == model.Id);

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

            game.Name              = model.Game.Name;
            game.Description       = model.Game.Description;
            game.Language          = model.Game.Language;
            game.Genre             = model.Game.Genre;
            game.Publisher         = model.Game.Publisher;
            game.Developer         = model.Game.Developer;
            game.Features          = model.Game.Features;
            game.Region            = model.Game.Region;
            game.WhereKeyActivated = model.Game.WhereKeyActivated;
            game.ReleaseDate       = model.Game.ReleaseDate;
            game.Recommendation    = model.GameRecommendation;
            game.Minimum           = model.GameMinimum;

            DelGameTags(game, model.TagsDictionary);
            await AddGameTags(game, model.TagsDictionary);

            AddUpdateGameImage(game, model.MainImage, model.InnerImage, model.ImageInCatalog);
            PriceCalculation(game, model.Price);

            _db.Games.Update(game);
            await _db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Example #2
0
        public async Task <IActionResult> Update(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var game = await _db.Games
                       .Include(item => item.GamePrice)
                       .Include(item => item.GameImage)
                       .Include(item => item.Recommendation)
                       .Include(item => item.Minimum)
                       .Include(item => item.GameTags)
                       .FirstOrDefaultAsync(item => item.Id == id);

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

            var tags = await _db.Tags.ToListAsync();

            var gamesViewModel = new GamesUpdateViewModel
            {
                Game  = game,
                Price = game.GamePrice,
                GameRecommendation = game.Recommendation,
                GameMinimum        = game.Minimum,
                Tags = tags,
                Id   = game.Id,

                MainImagePath      = game.GameImage.MainImage,
                InnerImagePath     = game.GameImage.InnerImage,
                ImageInCatalogPath = game.GameImage.ImageInCatalog,
            };

            return(View(gamesViewModel));
        }