Exemple #1
0
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using (var context = new GameCatalogContext(serviceProvider.GetRequiredService <DbContextOptions <GameCatalogContext> >()))
            {
                if (context.Game.Any())
                {
                    return;
                }

                context.AddRange(
                    new Game
                {
                    Title       = "God of War (2018)",
                    ReleaseDate = DateTime.Parse("2018-4-20"),
                    Genre       = "Action-Adventure",
                    Price       = 15.99M
                },
                    new Game
                {
                    Title       = "Red Dead Redemption II",
                    ReleaseDate = DateTime.Parse("2018-10-26"),
                    Genre       = "Action-Adventure",
                    Price       = 15.99M
                },
                    new Game
                {
                    Title       = "Marvel's Spider-Man",
                    ReleaseDate = DateTime.Parse("2018-9-07"),
                    Genre       = "Action-Adventure",
                    Price       = 15.99M
                }
                    );
                context.SaveChanges();
            }
        }
Exemple #2
0
        public async Task <IActionResult> Edit(Game game, IFormFile image, string publisherName)
        {
            if (ModelState.IsValid)
            {
                await using var db = new GameCatalogContext();
                if (db.Publishers.FirstOrDefault(publisher => publisher.Name == publisherName) == null)
                {
                    await db.Publishers.AddAsync(new Publisher()
                    {
                        Name = publisherName
                    });

                    await db.SaveChangesAsync();
                }
                game.PublisherId = db.Publishers.FirstOrDefault(publisher => publisher.Name == publisherName).Id;
                var dir = _env.WebRootPath;
                if (image != null)
                {
                    await using var fileStream = new FileStream(Path.Combine(dir, $"{game.Name}.png"), FileMode.Create, FileAccess.Write);
                    await image.CopyToAsync(fileStream);

                    game.Img = $"{game.Name}.png";
                }
                else
                {
                    game.Img = game?.Img;
                }
                await _catalog.UpdateGameAsync(game);
            }
            else
            {
                return(BadRequest());
            }
            return(RedirectToAction("Index", "Home"));
        }
Exemple #3
0
        public async Task <IActionResult> Redirect(int id)
        {
            await using var db = new GameCatalogContext();
            var game = db.Games.FirstOrDefault(nGame => nGame.Id == id);

            return(RedirectToAction("GamePage", "Game", game));
        }
        public async Task <IActionResult> Edit(User user, IFormFile image)
        {
            if (user == null)
            {
                return(BadRequest());
            }
            var dir = _env.WebRootPath;

            await using var db = new GameCatalogContext();
            var needUser = db.Users.FirstOrDefault(nU => nU.Login == Request.Cookies["Auth"]);

            if (image != null)
            {
                await using var fileStream = new FileStream(Path.Combine(dir, $"{user.Login}.png"), FileMode.Create, FileAccess.Write);
                await image.CopyToAsync(fileStream);

                user.Img = $"{user.Login}.png";
            }
            else
            {
                user.Img = needUser?.Img;
            }
            user.Password = user.Password != null?GetHash(user.Password) : db.Users.FirstOrDefault(needUser => needUser.Login == Request.Cookies["Auth"])?.Password;

            user.RoleId = db.Users.FirstOrDefault(needUser => needUser.Login == Request.Cookies["Auth"]).RoleId;
            await _catalog.UpdateUserAsync(user);

            Response.Cookies.Delete("Auth");
            return(RedirectToAction("Login", "Users"));
        }
Exemple #5
0
        public async Task <IActionResult> Edit(int id)
        {
            await using var db = new GameCatalogContext();
            var needGame = db.Games.FirstOrDefault(game => game.Id == id);

            return(View(needGame));
        }
Exemple #6
0
        public async Task <IActionResult> DeleteComment(int id)
        {
            await using var db = new GameCatalogContext();
            Game ng = db.Games.FirstOrDefault(game => game.Id == db.Comments.FirstOrDefault(nComment => nComment.Id == id).GameId);
            await _catalog.RemoveCommentAsync(id);

            return(RedirectToAction("GamePage", "Game", ng));
        }
Exemple #7
0
        public async Task <IActionResult> AddComment(int id, string content)
        {
            await using var db = new GameCatalogContext();
            Comment comment = new(){ Content = content, Date = DateTime.Now, GameId = id, UserId = db.Users.FirstOrDefault(user => user.Login == Request.Cookies["Auth"]).Id };
            await _catalog.AddCommentAsync(comment);

            return(RedirectToAction("GamePage", "Game", db.Games.FirstOrDefault(game => game.Id == id)));
        }
Exemple #8
0
        public async Task <IActionResult> AddPurchases(int id)
        {
            await using var db = new GameCatalogContext();
            Purchases purchases = new(){ GameId = id, UserId = db.Users.FirstOrDefault(user => user.Login == Request.Cookies["Auth"]).Id };
            await _catalog.BuyAsync(purchases);

            await db.SaveChangesAsync();

            return(RedirectToAction("GamePage", "Game", db.Games.FirstOrDefault(game => game.Id == id)));
        }
        public async Task <IActionResult> Edit()
        {
            await using var db = new GameCatalogContext();
            var needUser = db.Users.FirstOrDefault(user => user.Login == Request.Cookies["Auth"]);

            if (needUser != null)
            {
                needUser.Password = null;
            }
            return(View(needUser));
        }
Exemple #10
0
 public async Task <IActionResult> Login(string login, string password)
 {
     await using var db = new GameCatalogContext();
     if (db.Users.ToList().Exists(user => user.Login == $"{login}"))
     {
         if (db.Users.FirstOrDefault(user => user.Login == $"{login}")?.Password == $"{GetHash(password)}")
         {
             Response.Cookies.Append("Auth", login);
         }
         else
         {
             await Response.WriteAsync("Wrong passwod");
         }
     }
     else
     {
         await Response.WriteAsync("User with that login does not exist");
     }
     return(RedirectToAction("Index", "Home"));
 }