public async Task <IActionResult> Edit(AddGameInputModel model) { if (!this.ModelState.IsValid) { return(this.View(model)); } await this.gameService.EditGameAsync(model); return(this.RedirectToAction("Details", new { id = model.Id })); }
public async Task <IActionResult> Create(AddGameInputModel model) { if (!this.ModelState.IsValid) { return(this.View(model)); } var gameId = await this.gameService.CreateGameAsync(model); return(this.RedirectToAction("Details", new { id = gameId })); }
public async Task <IActionResult> Add(AddGameInputModel model) { var viewModel = await this.gameService.GetAllInfoAsync(); if (!this.ModelState.IsValid) { return(this.View(viewModel)); } var rootPath = this.environment.WebRootPath; await this.gameService.AddGameAsync(model, rootPath); return(this.Redirect("/")); }
public async Task EditGameAsync(AddGameInputModel model) { var game = this.repository.All().Where(a => a.Id == model.Id).FirstOrDefault(); game.Name = model.Name; game.Description = model.Description; game.Developer = model.Developer; game.ReleaseDate = model.ReleaseDate; game.Genre = model.Genre; game.ImageUrl = model.ImageUrl; game.PlatformId = model.PlatformId; game.Publisher = model.Publisher; game.Series = model.Series; game.PriceUrl = model.PriceUrl; game.IsLaunchTitle = model.IsLaunchTitle; this.repository.Update(game); await this.repository.SaveChangesAsync(); }
public IActionResult Delete(int id) { var game = this.gameService.GetGameDetails(id); var viewModel = new AddGameInputModel { Id = id, Name = game.Name, Description = game.Description, Developer = game.Developer, Publisher = game.Publisher, ImageUrl = game.ImageUrl, ReleaseDate = game.ReleaseDate, Genre = game.Genre, Series = game.Series, PlatformId = game.PlatformId, }; return(this.View(viewModel)); }
public async Task <int> CreateGameAsync(AddGameInputModel model) { var game = new Game { Name = model.Name, Description = model.Description, Developer = model.Developer, ReleaseDate = model.ReleaseDate, Genre = model.Genre, ImageUrl = model.ImageUrl, PlatformId = model.PlatformId, Publisher = model.Publisher, Series = model.Series, IsLaunchTitle = model.IsLaunchTitle, PriceUrl = model.PriceUrl, }; await this.repository.AddAsync(game); await this.repository.SaveChangesAsync(); return(game.Id); }
public async Task AddGameAsync(AddGameInputModel model, string rootPath) { var checkGame = await this.gameRepository.All() .FirstOrDefaultAsync(x => x.Name == model.Name); if (checkGame != null) { throw new ArgumentException("Game already exists."); } var developer = await this.developerRepository.All() .FirstOrDefaultAsync(x => x.Name == model.Developer); if (developer == null) { developer = new Developer() { Name = model.Developer }; } var imagePath = await GlobalMethods.UploadedFile(model.Image, model.Name, rootPath, MainFileName); var game = new Game() { Name = model.Name, Developer = developer, Image = imagePath, Price = model.Price, ReleaseDate = model.ReleaseDate, TrailerUrl = model.Trailer, Summary = model.Summary, Website = model.Website, }; foreach (var genreId in model.Genres) { var gameGenre = new GameGenre() { GameId = game.Id, GenreId = genreId }; await this.gameGenreRepository.AddAsync(gameGenre); game.GameGenres.Add(gameGenre); } foreach (var languageId in model.Languages) { var gameLanguage = new GameLanguage() { GameId = game.Id, LanguageId = languageId }; await this.gameLanguageRepository.AddAsync(gameLanguage); game.GameLanguages.Add(gameLanguage); } foreach (var platformId in model.Platforms) { var gamePlatform = new GamePlatform() { GameId = game.Id, PlatformId = platformId }; await this.gamePlatformRepository.AddAsync(gamePlatform); game.GamePlatforms.Add(gamePlatform); } await this.gameRepository.AddAsync(game); await this.gameRepository.SaveChangesAsync(); await this.gameGenreRepository.SaveChangesAsync(); await this.gameLanguageRepository.SaveChangesAsync(); await this.gamePlatformRepository.SaveChangesAsync(); }