// MARK:- METHODS // Primary bid method public void Bid(Product _item) { lock (productLock) { //!_item.IsMyBidLast(this.name) && !BidLimitReached(_item) while (!_item.IsMyBidLast(name) && !BidLimitReached(_item)) { // Check price of item if (_item.GetBidPrice() == 0) { // if no bid has been made, make Ask price your bid _item.AddBid(CreateBid(_item.GetAskPrice() + (BidLimit + 33))); _item.SetNameOfLastBidder(name); Console.WriteLine(" {0} added bid of ${2} to {1}", name, _item.GetProductName(), _item.GetBidPrice()); } else { // if bid exist, make highest bid + your new bid _item.AddBid(CreateBid(_item.GetBidPrice() + 1)); _item.SetNameOfLastBidder(name); Console.WriteLine(" {0} added bid of ${2} to {1}", name, _item.GetProductName(), _item.GetBidPrice()); } } } // Check If My Name If Last }