private async Task AddProductToFavoriteAsync( string productId, ICollection <UserFavoriteProduct> dbFavoriteProducts) { var favoriteProductModel = new UserFavoriteProduct() { ProductId = productId }; dbFavoriteProducts.Add(favoriteProductModel); await this.DbContext.SaveChangesAsync(); }
private async Task SeedFavoriteProduct(ApplicationDbContext context) { var productId = this.GetProduct().Id; var userId = this.GetUser().Id; UserFavoriteProduct favoriteProduct = new UserFavoriteProduct { ApplicationUserId = userId, ProductId = productId, }; await context.UsersFavoriteProducts.AddAsync(favoriteProduct); await context.SaveChangesAsync(); }
public async Task <bool> Add(string productId, string userId) { // Checks if product exists var productExists = await this.ProductExists(productId); // Checks if user exists var userExists = await this.UserExists(userId); if (!productExists || !userExists) { return(false); } // Checks if product is already in favorites var product = await this.context .UsersFavoriteProducts .SingleOrDefaultAsync(p => p.ProductId == productId); // If product is not null its in favorites already if (product != null) { return(false); } UserFavoriteProduct userFavorite = new UserFavoriteProduct { ProductId = productId, ApplicationUserId = userId, }; await this.context.UsersFavoriteProducts.AddAsync(userFavorite); var result = await this.context.SaveChangesAsync(); return(result > 0); }