private Task OnPieceSelected(PromotionTypeSelectedEventArgs args)
        {
            var move = Game.TryMove(args.FromSquareIndex, args.ToSquareIndex, args.PieceType);

            return(move.Value == 0 ? Task.CompletedTask : this.DoSearch());
        }
 private void PromotionUserControl_PromotionTypeSelected(object sender, PromotionTypeSelectedEventArgs args) =>
 this.PromotionTypeSelected?.Invoke(this, args);
 private async void BoardUserControl_PieceSelected(object sender, PromotionTypeSelectedEventArgs args) =>
 await this.OnPieceSelected(args);