public static void AddProductToFavorite(int ProductShopID, Guid UserID = new Guid()) { if (UserID == Guid.Empty && LS.isHaveID()) { UserID = LS.CurrentUser.ID; } if (UserID == Guid.Empty) { return; } var fav = LS.CurrentEntityContext.ProductFavorites.FirstOrDefault(x => x.ProductShopID == ProductShopID && x.UserID == UserID); if (fav == null) { UserActivityService.InsertFavoriteProduct(UserID, ProductShopID, false , HttpContext.Current.Request.RawUrl, HttpContext.Current.Request.UrlReferrer != null ? HttpContext.Current.Request.UrlReferrer.OriginalString : null , LS.GetUser_IP(HttpContext.Current.Request)); fav = new ProductFavorite() { CreateDate = DateTime.Now, ProductShopID = ProductShopID, UserID = UserID }; LS.CurrentEntityContext.ProductFavorites.Add(fav); LS.CurrentEntityContext.SaveChanges(); } }
public async Task <ActionResult <Favorite> > PostFavorite(ProductFavorite productFavorite) { String username = User.Identity.Name; //CHECK EXIST var currentFavorite = await _context.Favorite.Include(f => f.Product).Where(f => f.Username.Equals(username) && f.ProductId == productFavorite.productID).FirstOrDefaultAsync(); if (currentFavorite == null) { Favorite temp = new Favorite(); temp.ProductId = productFavorite.productID; temp.Username = username; temp.Isfavorite = true; // temp.Product = await _context.Product.FirstOrDefaultAsync(p => p.Id == productFavorite.productID); _context.Favorite.Add(temp); await _context.SaveChangesAsync(); return(CreatedAtAction("GetFavorite", new { id = temp.Id }, temp)); } else { currentFavorite.Isfavorite = !currentFavorite.Isfavorite; _context.Favorite.Update(currentFavorite); await _context.SaveChangesAsync(); return(Ok(currentFavorite)); } }
public async Task <ProductEnvelope> Handle(Command request, CancellationToken cancellationToken) { var product = await _context.Products.FirstOrDefaultAsync(x => x.ProductId == request.ProductId, cancellationToken); if (product == null) { throw new RestException(HttpStatusCode.NotFound, new { Article = Constants.NOT_FOUND }); } var person = await _context.Persons.FirstOrDefaultAsync(x => x.Username == _currentUserAccessor.GetCurrentUsername(), cancellationToken); var favorite = await _context.ProductFavorite .FirstOrDefaultAsync(x => x.ProductId == product.ProductId && x.PersonId == person.PersonId, cancellationToken); if (favorite == null) { favorite = new ProductFavorite() { Product = product, ProductId = product.ProductId, Person = person, PersonId = person.PersonId }; await _context.ProductFavorite.AddAsync(favorite, cancellationToken); await _context.SaveChangesAsync(cancellationToken); } return(new ProductEnvelope(await _context.Products.GetAllData() .FirstOrDefaultAsync(x => x.ProductId == product.ProductId, cancellationToken))); }
public bool AddMyFavoriteProducts(ProductFavorite entity) { using (var context = new eMarketContext()) { context.Add(entity); context.SaveChanges(); return(true); } }
public bool AddMyFavoriteProducts(ProductFavorite entity) { if (entity != null) { _accountRepository.AddMyFavoriteProducts(entity); return(true); } return(false); }
public async Task <CreateProductFavorResult> CreateAsync(ProductFavorite productFavor, int userId) { var createdByCustomer = await _context.Customers.SingleOrDefaultAsync(c => c.UserId == userId); var newProduct = await _context.ProductTiers.SingleOrDefaultAsync(p => p.Id == productFavor.ProductTierId); var currentProduct = await _context.ProductFavorites .SingleOrDefaultAsync(p => p.ProductTierId == productFavor.ProductTierId && p.CustomerId == createdByCustomer.Id); if (currentProduct != null) { return(new CreateProductFavorResult { IsSuccess = false, Errors = new[] { "Sản phẩm đã tồn tại trong danh sách yêu thích của bạn" } }); } if (newProduct == null) { return(new CreateProductFavorResult { IsSuccess = false, Errors = new[] { "Sản phẩm này không tồn tại" } }); } productFavor.CustomerId = createdByCustomer.Id; await _context.ProductFavorites.AddAsync(productFavor); var created = await _context.SaveChangesAsync(); var createdProductFavor = await GetByIdAsync(productFavor.Id); return(new CreateProductFavorResult { IsSuccess = true, ProductFavorite = createdProductFavor }); }
public IActionResult AddFavoriteProducts(int id, string returnUrl) { if (HttpContext.Session.GetString("ID") != null) { if (id != null) { var entity = new ProductFavorite() { userId = Convert.ToInt32(HttpContext.Session.GetString("ID")), productId = id }; var users_id = Convert.ToInt32(HttpContext.Session.GetString("ID")); var data = _accountService.GetAllFavoriteProducts(users_id); foreach (var itemFavorite in data) { if (itemFavorite.productId == entity.productId) { ViewBag.DuplicateDataMessage = "Bu ürünü daha önce sepetinize eklemişsiniz. :( "; } } return(Redirect(returnUrl)); if (_accountService.AddMyFavoriteProducts(entity)) { ViewBag.AddFavoriteProductsMessage = "Ürün favorilerinize eklenmiştir. :)"; return(Redirect(returnUrl)); } } } else { RedirectToAction("Login", "Account"); } return(Redirect(returnUrl)); }