Exemplo n.º 1
0
        public static async Task <double> GetTotalGameRatingAsync(this TurboGamesContext context,
                                                                  Game game)
        {
            if (game == null)
            {
                return(await Task.FromResult(0d));
            }

            game.Rating = context.Reviews.Where(g => g.Game == game && g.ReviewStatus == ReviewStatus.Accepted).DefaultIfEmpty().Average(g => g.Rating);

            return(await Task.FromResult(game.Rating));
        }
Exemplo n.º 2
0
        public static async Task <bool> AddToWishlistAsync(this TurboGamesContext context, Wishlist wishlist, Game game)
        {
            try
            {
                await context.WishlistGames.AddAsync(new WishlistGame { WishlistId = wishlist.Id, GameId = game.Id });

                await context.SaveChangesAsync();

                return(true);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.InnerException);

                return(false);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Attempts to add a game to the cart by cart and game.
        /// </summary>
        /// <param name="context"></param>
        /// <param name="cart"></param>
        /// <param name="game"></param>
        /// <returns></returns>
        public static async Task <bool> AddToCartAsync(this TurboGamesContext context,
                                                       ShoppingCart cart, Game game)
        {
            try
            {
                await context.CartGames.AddAsync(new ShoppingCartGame { CartId = cart.Id, GameId = game.Id });

                await context.SaveChangesAsync();

                return(true);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.InnerException);

                return(false);
            }
        }
Exemplo n.º 4
0
 /// Checks if the game exists in the users wishlist.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="cart"></param>
 /// <param name="game"></param>
 /// <returns></returns>
 public static async Task <bool> DoesGameExistInWishlistAsync(this TurboGamesContext context,
                                                              Wishlist wishlist, Game game)
 {
     return(await context.WishlistGames
            .AnyAsync(cg => cg.Wishlist == wishlist && cg.Game == game));
 }
Exemplo n.º 5
0
 public IndexModel(UserManager <User> userManager, TurboGamesContext context)
 {
     _userManager = userManager;
     _context     = context;
 }
 public ConfirmationModel(UserManager <User> userManager, TurboGamesContext context)
 {
     _userManager = userManager;
     _context     = context;
 }
Exemplo n.º 7
0
 public WishlistModel(TurboGamesContext context, UserManager <User> userManager)
 {
     _context     = context;
     _userManager = userManager;
 }
 public CartCountViewComponent(TurboGamesContext context, UserManager <User> userManager)
 {
     _context     = context;
     _userManager = userManager;
 }
Exemplo n.º 9
0
 public PendingReviewsModel(TurboGamesContext context, UserManager <User> userManager)
 {
     _context     = context;
     _userManager = userManager;
 }
Exemplo n.º 10
0
 /// <summary>
 /// Checks if the game exists in the users cart.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="cart"></param>
 /// <param name="game"></param>
 /// <returns></returns>
 public static async Task <bool> DoesGameExistInCartAsync(this TurboGamesContext context,
                                                          ShoppingCart cart, Game game)
 {
     return(await context.CartGames
            .AnyAsync(cg => cg.Cart == cart && cg.Game == game));
 }
Exemplo n.º 11
0
 public static async Task <bool> HasCartAsync(this TurboGamesContext context,
                                              User user)
 {
     return(await context.Carts.Include(c => c.User).AnyAsync(c => c.User == user && !c.IsCheckedOut));
 }
Exemplo n.º 12
0
 public LibraryModel(TurboGamesContext context, UserManager <User> userManager)
 {
     _context     = context;
     _userManager = userManager;
 }
Exemplo n.º 13
0
 public CheckoutModel(UserManager <User> userManager, TurboGamesContext context)
 {
     _userManager = userManager;
     _context     = context;
 }
Exemplo n.º 14
0
 /// <summary>
 /// Checks if the user already owns the game.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="user"></param>
 /// <param name="game"></param>
 /// <returns></returns>
 public static async Task <bool> UserOwnsGameWishlistAsync(this TurboGamesContext context,
                                                           User user, Game game)
 {
     return(await context.UserGames
            .AnyAsync(ug => ug.User == user && ug.Game == game));
 }
 public MemberDetailsModel(TurboGamesContext context, UserManager <User> userManager)
 {
     _context     = context;
     _userManager = userManager;
 }
Exemplo n.º 16
0
 public DeleteModel(TurboGamesContext context, UserManager <User> userManager)
 {
     _context     = context;
     _userManager = userManager;
 }
Exemplo n.º 17
0
        /// <summary>
        /// Creates the applications roles, admin account and a user account for testing.
        /// </summary>
        /// <param name="serviceProvider"></param>
        /// <returns></returns>
        public static async Task CreateRoles(IServiceProvider serviceProvider, IConfiguration configuration, TurboGamesContext context)
        {
            var RoleManager = serviceProvider.GetRequiredService <RoleManager <IdentityRole> >();
            var UserManager = serviceProvider.GetRequiredService <UserManager <User> >();

            string[] roleNames = { "Admin", "Member" };

            foreach (var roleName in roleNames)
            {
                var roleExist = await RoleManager.RoleExistsAsync(roleName);

                if (!roleExist)
                {
                    await RoleManager.CreateAsync(new IdentityRole(roleName));
                }
            }

            var admin = new User
            {
                FirstName      = "Turbo",
                LastName       = "Admin",
                UserName       = configuration.GetSection("AdminSettings")["Username"],
                Email          = configuration.GetSection("AdminSettings")["Email"],
                EmailConfirmed = true,
                Gender         = Gender.Other,
                DOB            = DateTime.UtcNow,
                PaymentId      = Guid.Parse("1c3e6619-7425-40de-944b-e07fc1f90ae7")
            };

            var user = new User
            {
                FirstName      = "Turbo",
                LastName       = "User",
                UserName       = configuration.GetSection("UserSettings")["Username"],
                Email          = configuration.GetSection("UserSettings")["Email"],
                EmailConfirmed = true,
                Gender         = Gender.Other,
                DOB            = DateTime.UtcNow,
                PaymentId      = Guid.Parse("1c3e6619-7425-40de-944b-e07fc1f90ae7")
            };

            string adminPassword = configuration.GetSection("AdminSettings")["Password"];
            string userPassword  = configuration.GetSection("UserSettings")["Password"];

            var _admin = await UserManager.FindByEmailAsync(configuration.GetSection("AdminSettings")["Email"]);

            if (_admin == null)
            {
                var createAdmin = await UserManager.CreateAsync(admin, adminPassword);

                if (createAdmin.Succeeded)
                {
                    await UserManager.AddToRoleAsync(admin, "Admin");
                }
            }

            var _user = await UserManager.FindByEmailAsync(configuration.GetSection("UserSettings")["Email"]);

            if (_user == null)
            {
                var createUser = await UserManager.CreateAsync(user, userPassword);

                if (createUser.Succeeded)
                {
                    var addRoleToUser = await UserManager.AddToRoleAsync(user, "Member");

                    if (addRoleToUser.Succeeded)
                    {
                        context.UserGames.Add(
                            new UserGame
                        {
                            UserId       = user.Id,
                            GameId       = Guid.Parse("2c9e6679-7425-40de-944b-e07fc1f90ae7"),
                            PurchaseDate = DateTime.UtcNow
                        });
                        await context.SaveChangesAsync();
                    }
                }
            }
        }