public async Task <IActionResult> Edit(int id, GameBindingModel model) { if (id != model.Id) { return(this.NotFound()); } if (this.ModelState.IsValid) { try { await this.gameService.Edit(model.Id, model.Title); } catch (DbUpdateConcurrencyException) { if (!await this.gameService.ExistsAsync(model.Id)) { return(this.NotFound()); } else { throw; } } return(this.RedirectToAction("Index", "Home")); } return(this.View(model)); }
public ActionResult Create(GameBindingModel game) { ICollection <Image> newImages = new List <Image>(); foreach (var image in game.Images) { Image newImage = new Image() { Url = image }; newImages.Add(newImage); this.Data.Images.Add(newImage); } this.Data.SaveChanges(); Game newGame = new Game() { AuthorId = this.UserProfile.Id, Description = game.Description, Title = game.Title, GenreId = game.GenreId, SystemRequirements = game.SystemRequirements, Images = newImages }; this.Data.Games.Add(newGame); this.Data.SaveChanges(); this.AddNotification("Successfully added game!", NotificationType.SUCCESS); return(this.RedirectToAction("Index", "Games")); }
public async Task <IActionResult> Add(GameBindingModel model) { if (!this.ModelState.IsValid) { this.logger.LogError($"Invalid {nameof(GameBindingModel)}!"); return(this.RedirectToAction("Index", "Home")); } var gameExists = await this.gameService.ExistsAsync(model.Title); if (gameExists) { this.logger.LogError($"{model.Title} exist!"); return(this.RedirectToAction("Index", "Home")); } var game = await this.gameService.CreateGameAsync( model.Title, model.Description, model.ThumbnailUrl, model.Price, model.Size, model.ReleaseDate, model.GameType, model.Developer); this.logger.LogInformation("Admin add a new game!"); return(this.RedirectToAction("Details", new { id = game.Id })); }
public void CreateOrUpdate(GameBindingModel model) { using (var context = new Database()) { Game element = context.Games.FirstOrDefault(rec => rec.Name == model.Name && rec.Id != model.Id); if (element != null) { //название throw new Exception("Уже есть игра с таким названием"); } if (model.Id.HasValue) { element = context.Games.FirstOrDefault(rec => rec.Id == model.Id); if (element == null) { throw new Exception("Элемент не найден"); } } else { element = new Game(); context.Games.Add(element); } element.Name = model.Name; element.Master = model.Master; element.DateCreate = model.DateCreate; context.SaveChanges(); } }
public List <GameViewModel> Read(GameBindingModel model) { using (var context = new Database()) { return(context.Games .Where(rec => model == null || rec.Id == model.Id) .Select(rec => new GameViewModel { Id = rec.Id, Name = rec.Name, Master = rec.Master, DateCreate = rec.DateCreate }) .ToList()); } }
public void Delete(GameBindingModel model) { using (var context = new Database()) { Game element = context.Games.FirstOrDefault(rec => rec.Id == model.Id); if (element != null) { context.Games.Remove(element); context.SaveChanges(); } else { throw new Exception("Элемент не найден"); } } }
public ActionResult Add(GameBindingModel gameModel) { var currentUser = this.Data.Users.Find(this.User.Identity.GetUserId()); var genre = this.Data.Genres.Find(gameModel.GenreId); var imageUrls = gameModel.ImageUrls.Select(url => new ImageUrl() { Url = url }).ToList(); var game = new Game() { Title = gameModel.Title, Description = gameModel.Description, SystemRequirements = gameModel.SystemRequirements, Genre = genre, Author = currentUser }; this.Data.Games.Add(game); this.Data.SaveChanges(); game.ImageUrls = imageUrls; this.Data.SaveChanges(); return(this.RedirectToAction("Details", "Games", new { area = "", id = game.Id })); }