public virtual ContainerPut Put(double amount) { if (amount > Capacity) throw new ArgumentException("Cannot put more than capacity", "amount"); var put = new ContainerPut(Environment, TriggerGet, amount); PutQueue.Enqueue(put); TriggerPut(); return put; }
protected virtual void DoPut(ContainerPut put) { if (Capacity - Level >= put.Amount) { Level += put.Amount; put.Succeed(); } }
protected virtual void DoPut(ContainerPut put) { if (Capacity - Level >= put.Amount) { PutWaitingTime?.Add(Environment.ToDouble(Environment.Now - put.Time)); Level += put.Amount; put.Succeed(); } }
public virtual ContainerPut Put(double amount) { if (amount > Capacity) { throw new ArgumentException("Cannot put more than capacity", "amount"); } var put = new ContainerPut(Environment, TriggerGet, amount); PutQueue.Enqueue(put); TriggerPut(); return(put); }