protected virtual void DoPut(ContainerPut put) { if (Capacity - Level >= put.Amount) { PutWaitingTime?.Add(Environment.ToDouble(Environment.Now - put.Time)); Level += put.Amount; put.Succeed(); } }
protected virtual void DoPut(StorePut put) { if (Items.Count < Capacity) { PutWaitingTime?.Add(Environment.ToDouble(Environment.Now - put.Time)); Items.Add(new StoreItem() { AdmissionDate = Environment.Now, Item = put.Value }); put.Succeed(); } }
protected virtual void DoPut(StorePut put) { if (Items.Count < Capacity) { var pi = (PriorityItem)put.Value; PutWaitingTime?.Add(Environment.ToDouble(Environment.Now - put.Time)); Items.Enqueue(new StoreItem() { AdmissionDate = Environment.Now, Item = pi.Item }, pi.Priority); put.Succeed(); } }