public BoardResult CurrentResult(Participant currentContender, bool allowReplay) { if (currentContender == null) { throw new ArgumentNullException("currentContender"); } if (this.currentResult == null || (this.currentResult.Play != null && this.currentResult.Play.PlayEnded)) { foreach (var result in this.results) { if (currentContender.IsSame(result.Participants.Names)) { if (!allowReplay) { throw new InvalidOperationException("Replay not allowed"); } break; } } //if (this.currentResult == null) { this.currentResult = new BoardResult("Board", this, currentContender); this.results.Add(this.currentResult); } } return(this.currentResult); }
internal void BoardChanged(BoardResult p) { this.parent = p; if (this.contract != null) { this.contract.Vulnerability = p.Board.Vulnerable; } }
public BoardResult CurrentResult(bool detached = false) { if (this.currentResult == null) { this.currentResult = new BoardResult("Board", this, new SeatCollection <string>()); this.currentResult.Board = this; this.results.Add(this.currentResult); } return(this.currentResult); }
public abstract Task SaveAsync(BoardResult result);
public override async Task SaveAsync(BoardResult result) { }
public void ClearCurrentResult() { this.currentResult = null; }
public Auction(BoardResult p) : this() { this.parent = p; }