public int AddToCart(IUnitOfWork unitOfWork, ICartService cartService, Product product) { var cartItem = cartService.ODataQueryable().SingleOrDefault( c => c.CartId == ShoppingCartId && c.ProductId == product.Id); if (cartItem == null) { cartItem = new Cart { CartId = ShoppingCartId, ProductId = product.Id, Count = 1, DateCreated = DateTime.Now }; cartService.Insert(cartItem); } else { cartItem.Count++; cartService.Update(cartItem); } //save changes unitOfWork.SaveChanges(); return cartItem.Count; }
public ActionResult Input(ProductModel model) { if (ModelState.IsValid) { Product entity = null; try { if (model.Id > 0) entity = _productService.Find(model.Id); else entity = new Product() { CreatedDate = DateTime.Now }; #region Set value for category entity entity.SKU = model.SKU; entity.Name = model.Name; entity.Alias = model.Alias; entity.Brief = model.Brief; entity.Description = model.Description; entity.Price = entity.Price; entity.IsActive = model.IsActive; entity.DisplayOrder = model.DisplayOrder; entity.Thumbnail = model.Thumbnail != null ? model.Thumbnail : "default.jpg"; entity.CategoryId = model.CategoryId; entity.CallPrice = model.CallPrice; entity.Capability = model.Capability; entity.KeyBenefit = model.KeyBenefit; entity.CaseStudy = model.CaseStudy; entity.EnableGallery = model.EnableGallery; entity.UpdatedDate = DateTime.Now; entity.UpdatedBy = User.Identity.Name; if (!string.IsNullOrEmpty(model.FileAttachTemp)) entity.FileAttach = model.FileAttachTemp; entity.FileAttachName = model.FileAttachName; #endregion #region Perform save data if (model.Id <= 0) { using (TransactionScope scope = new TransactionScope()) { _productService.Insert(entity); _unitOfWork.SaveChanges(); scope.Complete(); } } else { using (TransactionScope scope = new TransactionScope()) { _productService.Update(entity); _unitOfWork.SaveChanges(); scope.Complete(); } } return Json(new { Status = ResultStatus.Success, Message = StringTable.DataSaveSuccess }); #endregion } catch { return Json(new { Status = ResultStatus.Fail, Message = StringTable.DataSaveUnsuccess }); } } else { return Json(new { Status = ResultStatus.Fail, Message = StringTable.DataSaveUnsuccess }); } }
public ActionResult Input(int id = 0) { var entity = _productService.Find(id); if (entity == null) { entity = new Product() { IsActive = true, EnableGallery = true }; } var model = entity.ToModel(); ViewData["ListCategory"] = GetListCategory(); return View(model); }