void AddProductIDItem(int key, int index) { if (key > 0 && !ProductIDDictionary.ContainsKey(key)) { ProductIDDictionary.Add(key, index); } }
public ActiveInventoryObject GetByProductID(int ID) { if (ProductIDDictionary.ContainsKey(ID)) { return(Items[ProductIDDictionary[ID]]); } else { return(null); } }
protected override void RemoveItem(int index) { ActiveInventoryObject item = this[index]; UPCDictionary.Remove(item.UPC.ToUpperInvariant()); SKUDictionary.Remove(item.SKU.ToUpperInvariant()); ProductIDDictionary.Remove(item.ProductID); item.UnSubscribeToChangeEvents(item_UPCChanged, item_SKUChanged); base.RemoveItem(index); TotalInvested -= (item.WholeSalePrice + item.AdditionalOverhead) * item.Quantity; }
//public void Save(string file) //{ // List<byte> FullData = new List<byte>(); // foreach (ActiveInventoryObject obj in this) // { // List<byte> data = new List<byte>(); // data.AddRange(obj.GetByteArray()); // FullData.AddRange(BitConverter.GetBytes(data.Count)); // FullData.AddRange(data); // } // using (System.IO.FileStream fs = new System.IO.FileStream(file, System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.Write)) // { // fs.Write(FullData.ToArray(), 0, FullData.Count); // } //} //public void Load(string file) //{ // List<byte> FullData = new List<byte>(); // if (System.IO.File.Exists(file)) // { // using (System.IO.FileStream fs = new System.IO.FileStream(file, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read)) // { // byte[] buffer = new byte[32768]; // int byteRead = 0; // do // { // byteRead = fs.Read(buffer, 0, buffer.Length); // if (byteRead > 0) // { // for (int i = 0; i < byteRead; i++) // { // FullData.Add(buffer[i]); // } // } // } while (byteRead > 0); // } // int pos = 0; // byte[] data = FullData.ToArray(); // while (pos < data.Length) // { // int objectLength = BitConverter.ToInt32(data, pos); // pos += 4; // List<byte> work = new List<byte>(); // for (int i = pos; i < objectLength + pos; i++) // { // work.Add(data[i]); // } // ActiveInventoryObject aio = new ActiveInventoryObject(); // aio.LoadProperties(work.ToArray()); // this.Add(aio); // pos += objectLength; // } // } //} protected override void ClearItems() { foreach (ActiveInventoryObject item in Items) { item.UnSubscribeToChangeEvents(item_UPCChanged, item_SKUChanged); } base.ClearItems(); UPCDictionary.Clear(); SKUDictionary.Clear(); ProductIDDictionary.Clear(); TotalInvested = 0; }