public int Count(IBaseProduct searchProduct) { string query = string.Empty; if (searchProduct != null) { query = CreateQuery(searchProduct); } return(_context.ExecuteScalar <int>(@" SELECT COUNT(ProductId) FROM Products " + query)); }
public void RemoveProductFromCart(List <IPhysicalProduct> physicalCart, List <IDigitalProduct> digitalCart, IBaseProduct product) { switch (product) { case IPhysicalProduct p: physicalCart.Remove(p); RemovedFromCartMessage(p); break; case IDigitalProduct p: digitalCart.Remove(p); RemovedFromCartMessage(p); break; default: Console.WriteLine("Invalid Product"); break; } }
public void AddProductToCart(List <IPhysicalProduct> physicalCart, List <IDigitalProduct> digitalCart, IBaseProduct product) { switch (product) { case IPhysicalProduct p: physicalCart.Add(p); AddedToCartMessage(p); break; case IDigitalProduct p: digitalCart.Add(p); AddedToCartMessage(p); break; default: Console.WriteLine("Invalid Product"); break; } }
private string CreateQuery(IBaseProduct product) { var query = new StringBuilder(); if (product.ProductId != 0) { query.Append($"WHERE ProductId={product.ProductId}"); } if (product.ProductName != null && !product.ProductName.Equals(string.Empty)) { if (query.Length == 0) { query.Append("WHERE "); } else { query.Append(" AND "); } query.Append($"ProductName LIKE N'%{product.ProductName}%'"); } if (product.ProductPrice != 0) { if (query.Length == 0) { query.Append("WHERE "); } else { query.Append(" AND "); } query.Append($"ProductPrice={product.ProductPrice}"); } return(query.ToString()); }
private static void RemovedFromCartMessage(IBaseProduct product) { Console.WriteLine($"Removed {product.Title} from shoppingcart "); }
private static void AddedToCartMessage(IBaseProduct product) { Console.WriteLine($"Added {product.Title} to shoppingcart "); }
public void RemoveProductFromCart(IBaseProduct product) { _shoppingCartService.RemoveProductFromCart(PhysicalCart, DigitalCart, product); }
public void AddProductToCart(IBaseProduct product) { _shoppingCartService.AddProductToCart(PhysicalCart, DigitalCart, product); }