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)); }
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); } }
/// <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); } }
/// 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)); }
public IndexModel(UserManager <User> userManager, TurboGamesContext context) { _userManager = userManager; _context = context; }
public ConfirmationModel(UserManager <User> userManager, TurboGamesContext context) { _userManager = userManager; _context = context; }
public WishlistModel(TurboGamesContext context, UserManager <User> userManager) { _context = context; _userManager = userManager; }
public CartCountViewComponent(TurboGamesContext context, UserManager <User> userManager) { _context = context; _userManager = userManager; }
public PendingReviewsModel(TurboGamesContext context, UserManager <User> userManager) { _context = context; _userManager = userManager; }
/// <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)); }
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)); }
public LibraryModel(TurboGamesContext context, UserManager <User> userManager) { _context = context; _userManager = userManager; }
public CheckoutModel(UserManager <User> userManager, TurboGamesContext context) { _userManager = userManager; _context = context; }
/// <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; }
public DeleteModel(TurboGamesContext context, UserManager <User> userManager) { _context = context; _userManager = userManager; }
/// <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(); } } } }