public void UpdateShoppingCartDatabase(String cartId, ShoppingCartUpdates[] CartItemUpdates) { using (var db = new elivro.Models.LivroContext()) { try { int CartItemCount = CartItemUpdates.Count(); List <CartItem> myCart = GetCartItems(); foreach (var cartItem in myCart) { // itera todas as linhas da lista do carrinho for (int i = 0; i < CartItemCount; i++) { if (cartItem.livro_id == CartItemUpdates[i].LivroId) { if (CartItemUpdates[i].PurchaseQuantity < 1 || CartItemUpdates[i].RemoverItem == true) { RemoveItem(cartId, cartItem.livro_id); } else { UpdateItem(cartId, cartItem.livro_id, CartItemUpdates[i].PurchaseQuantity); } } } } } catch (Exception exp) { throw new Exception("ERROR: Incapaz de executar alteração no BD do Carrinho - " + exp.Message.ToString(), exp); } } }
public void UpdateItem(string updateCartID, int updateProductID, int quantity) { using (var _db = new elivro.Models.LivroContext()) { try { var myItem = (from c in _db.ShoppingCartItems where c.cart_id == updateCartID && c.livro_id == updateProductID select c).FirstOrDefault(); if (myItem != null) { myItem.quantidade = quantity; _db.SaveChanges(); } } catch (Exception exp) { throw new Exception("ERROR: Unable to Update Cart Item - " + exp.Message.ToString(), exp); } } }
public void RemoveItem(string removeCartID, int removeProductID) { using (var _db = new elivro.Models.LivroContext()) { try { var myItem = (from c in _db.ShoppingCartItems where c.cart_id == removeCartID && c.livro_id == removeProductID select c).FirstOrDefault(); if (myItem != null) { // Remove Item. _db.ShoppingCartItems.Remove(myItem); _db.SaveChanges(); } } catch (Exception exp) { throw new Exception("ERROR: Incapaz de remover item do carrinho - " + exp.Message.ToString(), exp); } } }