Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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"));
        }
Ejemplo n.º 3
0
        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 }));
        }
Ejemplo n.º 4
0
 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();
     }
 }
Ejemplo n.º 5
0
 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());
     }
 }
Ejemplo n.º 6
0
 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("Элемент не найден");
         }
     }
 }
Ejemplo n.º 7
0
        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 }));
        }