public void AddItemToOrder(EventItem item, int quantity)
 {
     if (item.RemoveFromStock(quantity))
     {
         if (orderLineItem.ContainsKey(item))
         {
             orderLineItem[item] += quantity;
         }
         else
         {
             orderLineItem.Add(item, quantity);
         }
     }
     else
     {
         throw new LatitudeException("Not enough items in stock");
     }
 }
        public int GetQuantitySoldOrTimesRented(EventItem item)
        {
            string sql = $"select coalesce(sum(quantity), 0) from order_line_item group by sku having sku = {item.Sku}; ";

            try
            {
                MyDataHelper.OpenConnection();
                return(Convert.ToInt32(myDataHelper.ExecuteScalar(sql)));
            }

            catch
            {
                return(-1);
            }

            finally
            {
                MyDataHelper.CloseConnection();
            }
        }
        public void InsertNewItem(EventItem item)
        {
            string type;

            if (item is ItemForRent)
            {
                type = "for rent";
            }
            else
            {
                type = "for sale";
            }
            string sql = $"start transaction; insert into item (sku, name, costPerUnit, quantity_in_stock, quantity_min, type, imgPath) values " +
                         $"({item.Sku}, '{item.Name}', {item.CostPerUnit}, {item.QuantityInStock}, {item.QuantityMin}, '{type}', '{item.ImgPath}'); ";

            if (item is ItemForRent)
            {
                sql += $"insert into item_for_rent (sku, rentingFee) values ({item.Sku}, {((ItemForRent)item).RentingFee}); ";
            }
            else
            {
                string saleType;
                if (((ItemForSale)item).ItemType == SaleType.Drink)
                {
                    saleType = "drink";
                }
                else if (((ItemForSale)item).ItemType == SaleType.Food)
                {
                    saleType = "food";
                }
                else
                {
                    saleType = "souvenir";
                }

                int isSuitable;
                if (((ItemForSale)item).IsSuitableForVM)
                {
                    isSuitable = 1;
                }
                else
                {
                    isSuitable = 0;
                }
                sql += $"insert into item_for_sale (sku, forSaleType, sellingPrice, isSuitableForVM) values ({item.Sku}, '{saleType}', {((ItemForSale)item).Price}, {isSuitable}); ";
            }
            sql += "commit; ";
            try
            {
                myDataHelper.OpenConnection();
                myDataHelper.ExecuteQueries(sql);
            }
            catch
            {
                return;
            }
            finally
            {
                myDataHelper.CloseConnection();
            }
        }