예제 #1
0
        public List <Transaction> DeleteItem(int selectedItemID)
        {
            List <Transaction> transactionsWithItem = (new TransactionManager()).GetTransactionsByItem(selectedItemID);

            if (transactionsWithItem.Count == 0)
            {
                ItemCache.GetInstance().DeleteItem(selectedItemID);
            }
            return(transactionsWithItem);
        }
예제 #2
0
        public string[] GetNamesOfItems()
        {
            List <string> nameList = new List <string>();

            foreach (Item item in ItemCache.GetInstance().Items)
            {
                nameList.Add(item.Name);
            }

            return(nameList.ToArray());
        }
예제 #3
0
        public int UpdateItemWithID(Item item)
        {
            item.Unit = (new UnitManager()).SyncUnit(item.Unit);
            if (item.ID < 0)
            {
                //insert new item to db
                ItemCache.GetInstance().InsertItem(item);
            }
            else
            {
                //update existing item in db
                ItemCache.GetInstance().UpdateItem(item);
            }

            return(item.ID);
        }
예제 #4
0
 public Item GetItemByName(string name)
 {
     return(ItemCache.GetInstance().GetItemByName(name));
     //Item item = new Item();
     //item.Unit = new Unit();
     //DBFunctions.GetInstance().OpenConnection();
     //OleDbDataReader reader = DBFunctions.GetInstance().GetReader("Select I.ID, I.RetailRate, U.UnitName From Items as I, Units as U" +
     //        " Where I.ItemName = '" + name + "' AND U.ID=I.ItemUnit");//TODO: modify to left join
     //if (reader.Read())
     //{
     //    item.ID = int.Parse(reader[0].ToString());
     //    item.Name = name;
     //    item.Rate = double.Parse(reader[1].ToString());
     //    item.Unit.Name = reader[2].ToString();
     //}
     //DBFunctions.GetInstance().EndDbAction(reader);
     //return item;
 }
예제 #5
0
 public Item SyncItem(Item item, bool updateItem)
 {
     //update child objects
     //update unit
     item.Unit = (new UnitManager()).SyncUnit(item.Unit);
     //insert if not present
     if (ItemCache.GetInstance().GetItemByName(item.Name) == null)
     {
         ItemCache.GetInstance().InsertItem(item);
     }
     else if (updateItem)//if user opts to update, update
     {
         //check if rate,unit or tax updated
         if (ItemCache.GetInstance().CheckIfRateChanged(item) ||
             ItemCache.GetInstance().CheckIfTaxChanged(item) ||
             ItemCache.GetInstance().CheckIfUnitChanged(item))
         {
             ItemCache.GetInstance().UpdateItemWithName(item);
         }
     }
     return(ItemCache.GetInstance().GetItemByName(item.Name));
 }
예제 #6
0
 //public Item InsertItem(Item item)
 //{
 //    item.Unit = (new UnitManager()).SyncUnit(item.Unit);
 //    DBFunctions.GetInstance().OpenConnection();
 //    OleDbCommand command = DBFunctions.GetInstance().GetCommand("Insert Into Items " +
 //        "(ItemName, RetailRate, ItemUnit, WholesaleRate, TaxRate, LastUpdatedTime) " +
 //        "Values(?,?,?,?,?,Now())");
 //    command.Parameters.AddWithValue("ItemName", item.Name);
 //    command.Parameters.AddWithValue("RetailRate", item.Rate);
 //    command.Parameters.AddWithValue("ItemUnit", item.Unit.ID);
 //    return null;//id
 //}
 public Item GetItemByID(int id)
 {
     return(ItemCache.GetInstance().GetItemById(id));
 }
예제 #7
0
 public List <Item> GetAllItems()
 {
     return(ItemCache.GetInstance().Items);
 }
예제 #8
0
 internal void RefreshCache()
 {
     ItemCache.GetInstance().Clear();
     ItemCache.GetInstance();
 }