public async Task <ActionResult> AddToCart(Guid id, int quantity) { var shoppingCart = TableClient.GetTableReference("shoppingcart"); shoppingCart.CreateIfNotExists(); var retrieve = TableOperation.Retrieve <ProductCartEntity>(UserSession(), id.ToString()); var result = shoppingCart.Execute(retrieve); var item = (ProductCartEntity)result.Result; if (item != null) { item.Quantity = quantity; item.TotalPrice = quantity * item.UnitPrice; } else { var product = DocumentDbProducts().Where(xx => xx.id == id).ToList().First(); item = new ProductCartEntity { PartitionKey = UserSession() , RowKey = id.ToString() , CreateDate = DateTime.Now , ProductDescription = product.Name , Currency = "EUR" , UnitPrice = (double)product.ListPrice , TotalPrice = quantity * (double)product.ListPrice , Quantity = quantity }; } var upsert = TableOperation.InsertOrReplace(item); shoppingCart.Execute(upsert); return(RedirectToAction("ShoppingCart")); }
public async Task <ActionResult> AddToCart(string productId, decimal unitPrice, int quantity) { var shoppingCart = TableClient.GetTableReference("shoppingcart"); shoppingCart.CreateIfNotExists(); var userSession = Membership.GetUser().UserName; var retrieve = TableOperation.Retrieve <ProductCartEntity>(userSession, productId); var result = shoppingCart.Execute(retrieve); var item = (ProductCartEntity)result.Result; if (item != null) { item.UnitPrice = unitPrice; item.Quantity = quantity; } else { item = new ProductCartEntity { PartitionKey = userSession , RowKey = productId , CreateDate = DateTime.Now , Currency = "EUR" , UnitPrice = unitPrice , Quantity = quantity }; } item.TotalPrice = item.UnitPrice * item.Quantity; var upsert = TableOperation.InsertOrReplace(item); shoppingCart.Execute(upsert); return(RedirectToAction("Index")); }