public string AddProductToCart(byte[] byteArray) { BinaryFormatter bf = new BinaryFormatter(); MemoryStream stream = new MemoryStream(byteArray); var cart = bf.Deserialize(stream) as BestPurchase.DataModel.ShoppingCart; ShoppingCart Cart = this.ConvertBLCartToDBCart(cart); using (var context = new BestPurchaseDBEntities()) { var cartItem = context.ShoppingCarts.SingleOrDefault( c => c.Id == Cart.Id && c.ProductId == Cart.ProductId); // Creating new shopping cart if (cartItem == null) { context.ShoppingCarts.Add(Cart); } else { // Incrementing quantity if the item is already in the cart cartItem.Quantity += Cart.Quantity; } // Save changes context.SaveChanges(); } return("Done"); }
public byte[] GetAllProducts() { BestPurchaseDBEntities db = new BestPurchaseDBEntities(); var dbList = db.Products.ToList(); Products products = ConvertDBProductsToBLProducts(dbList); return(Formatter.Serialize <Products>(products)); }
public byte[] GetShoppingCartContent(string cartId) { BestPurchaseDBEntities db = new BestPurchaseDBEntities(); var dbList = db.ShoppingCarts.Where(c => c.Id == cartId).ToList(); ShoppingCartCollection carts = ConvertDBCartsToBLCarts(dbList, db); return(Formatter.Serialize(carts)); }
public string AddOrder(byte[] byteArray) { BinaryFormatter bf = new BinaryFormatter(); MemoryStream stream = new MemoryStream(byteArray); var order = bf.Deserialize(stream) as BestPurchase.DataModel.Order; Order dbOrder = ConvertBLOrderToDBOrder(order); using (var context = new BestPurchaseDBEntities()) { context.Orders.Add(dbOrder); context.SaveChanges(); } return("Added"); }
public string DeleteProductFromCart(byte[] byteArray) { BinaryFormatter bf = new BinaryFormatter(); MemoryStream stream = new MemoryStream(byteArray); var cart = bf.Deserialize(stream) as BestPurchase.DataModel.ShoppingCart; ShoppingCart Cart = this.ConvertBLCartToDBCart(cart); using (var context = new BestPurchaseDBEntities()) { var itemToRemove = context.ShoppingCarts.SingleOrDefault(x => cart.CartId == x.Id && x.ProductId == Cart.ProductId); context.ShoppingCarts.Remove(itemToRemove); context.SaveChanges(); } return("Done"); }
public byte[] GetProductById(int productId) { BestPurchaseDBEntities db = new BestPurchaseDBEntities(); Product product = db.Products.FirstOrDefault(c => c.Id == productId); DataModel.Product blProduct = ConvertDBProductToBLProduct(product); // Getting image as byte array MemoryStream memoryStream = new MemoryStream(); byte[] fileContents; var path = Path.Combine(HttpContext.Current.Server.MapPath("~/Pictures"), product.ImageSource); fileContents = File.ReadAllBytes(path); blProduct.ImageSource = fileContents; return(Formatter.Serialize(blProduct)); }
private ShoppingCartCollection ConvertDBCartsToBLCarts(List <ShoppingCart> dbList, BestPurchaseDBEntities db) { ShoppingCartCollection carts = new ShoppingCartCollection(); foreach (var item in dbList) { DataModel.ShoppingCart cart = new DataModel.ShoppingCart(); Product product = db.Products.FirstOrDefault(c => c.Id == item.ProductId); DataModel.Product pro = ConvertDBProductToBLProduct(product); cart.Added = pro; cart.Quantity = item.Quantity; cart.CartId = item.Id; carts.ListOfCarts.Add(cart); } return(carts); }