Beispiel #1
0
        public IHttpResponse Edit(AdminGameViewModel model)
        {
            if (!this.Authenticate.IsAdmin)
            {
                return(this.RedirectResponse(HomePath));
            }

            bool isDataValid = ValidateGameInput(model.Title, model.Description, model.ImageUrl, model.Price, model.Size, model.ReleaseDate, model.Trailer);

            if (!isDataValid)
            {
                return(this.FileViewResponse(EditGame));
            }

            using (var db = new GameStoreDbContext())
            {
                Game gameToDelete = db.Games.FirstOrDefault(x => x.Id == model.Id);

                gameToDelete.Title       = model.Title;
                gameToDelete.Description = model.Description;
                gameToDelete.ImageURL    = model.ImageUrl;
                gameToDelete.Price       = model.Price;
                gameToDelete.Size        = model.Size;
                gameToDelete.Trailer     = model.Trailer;
                gameToDelete.ReleaseDate = model.ReleaseDate;

                db.SaveChanges();
            }

            return(this.RedirectResponse(HomePath));
        }
Beispiel #2
0
        public IActionResult Games()
        {
            AdminGameViewModel model = new AdminGameViewModel()
            {
                AllGames             = this.dataService.GetObjects <Game>("ReleaseDate, Id", "Generation").ToList(),
                AllGameRegionDetails = this.dataService.GetObjects <GameRegionDetail>(includes: "Region").ToList(),
                AllPokemon           = this.dataService.GetObjects <Pokemon>("PokedexNumber, Id", "EggCycle, GenderRatio, Classification, Game, Game.Generation, ExperienceGrowth, BaseHappiness"),
            };

            return(this.View(model));
        }
Beispiel #3
0
        public void Edit(int id, AdminGameViewModel model)
        {
            using (var db = new GameStoreDbContext())
            {
                var game = db.Games.FirstOrDefault(g => g.Id == id);

                game.Title       = model.Title;
                game.Description = model.Description;
                game.Image       = model.Image;
                game.Price       = model.Price;
                game.Size        = model.Size;
                game.VideoId     = model.VideoId;
                game.ReleaseDate = model.ReleaseDate.Value;

                db.SaveChanges();
            }
        }
Beispiel #4
0
        public IHttpResponse Edit(AdminGameViewModel model)
        {
            if (!this.Authentication.IsAdmin)
            {
                return(this.RedirectResponse(HomePath));
            }

            if (!this.ValidateModel(model))
            {
                return(this.Edit());
            }

            var id = int.Parse(Request.UrlParameters["id"]);

            games.Edit(id, model);

            return(this.RedirectResponse(HomePath));
        }
Beispiel #5
0
        public IHttpResponse Add(AdminGameViewModel model)
        {
            if (!this.Authentication.IsAdmin)
            {
                return(this.RedirectResponse(HomePath));
            }

            if (!this.ValidateModel(model))
            {
                return(this.Add());
            }

            this.games.Create(
                model.Title,
                model.Description,
                model.Image,
                model.Price,
                model.Size,
                model.VideoId,
                model.ReleaseDate.Value);

            return(this.RedirectResponse("/admin/games/list"));
        }
Beispiel #6
0
        public IHttpResponse GameDetails()
        {
            var id = int.Parse(this.Request.UrlParameters[IdKey]);

            ;
            bool thereIsUserLogged = CheckIfUserIsLogged();


            AdminGameViewModel gameToView = this.gameService.Find(id);

            if (gameToView == default(AdminGameViewModel))
            {
                this.ViewData["error"]       = "No such game.";
                this.ViewData["showError"]   = "block";
                this.ViewData["authDisplay"] = "none";

                return(this.RedirectResponse(HomePath));
            }

            if (!this.ViewData.ContainsKey("error") &&
                !this.ViewData.ContainsKey("showError"))
            {
                this.ViewData["error"]     = "none";
                this.ViewData["showError"] = "none";
            }


            this.ViewData[TitleKey]       = gameToView.Title;
            this.ViewData[DescriptionKey] = gameToView.Description;
            this.ViewData[ImageUrlKey]    = gameToView.ImageUrl;
            this.ViewData[PriceKey]       = gameToView.Price.ToString("F2");
            this.ViewData[SizeKey]        = gameToView.Size.ToString();
            this.ViewData[TrailerKey]     = gameToView.Trailer;
            this.ViewData[ReleaseDateKey] = gameToView.ReleaseDate.ToString("yyyy-MM-dd");
            this.ViewData[GameIdKey]      = id.ToString();

            if (AdminIsLogged)
            {
                this.ViewData["adminButtons"] = $@"<a class=""btn btn-warning"" name=""edit"" href=""/edit-game/{id}"">Edit</a>
                <a class=""btn btn-danger"" name=""delete"" href=""/delete-game/{id}"">Delete</a>
                 <a class=""card-button btn btn-primary"" name=""buy"" href=""/add-to-cart/{id}"">Buy</a>";

                this.ViewData["displayUserBtn"]  = "none";
                this.ViewData["displayGuestBtn"] = "none";
            }
            else if (GuestUser)
            {
                this.ViewData["guestButtons"] = $@"<a class=""card-button btn btn-primary"" name=""buy"" href=""/login"">Buy</a>";


                this.ViewData["displayAdminBtn"] = "none";
                this.ViewData["displayUserBtn"]  = "none";
            }
            else
            {
                this.ViewData["userButtons"] = $@"<a class=""card-button btn btn-primary"" name=""buy"" href=""/add-to-cart/{id}"">Buy</a>";

                this.ViewData["displayAdminBtn"] = "none";
                this.ViewData["displayGuestBtn"] = "none";
            }
            return(this.FileViewResponse(DetailGame));
        }