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")); }
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)); }