ChessConsole.Commands.CommandMove.DoWork C# (CSharp) Method

DoWork() public method

public DoWork ( IEnumerable args ) : void
args IEnumerable
return void
        public override void DoWork(IEnumerable<string> args)
        {
            if (Utils.CheckArgs(ArgsNeed, args.Count()))
            {
                if (Utils.IsInGame())
                {
                    var request = new MoveRequest
                    {
                        From = args.ToArray()[0],
                        To = args.ToArray()[1],
                        InWhom = null,
                        Player = CurrentUser.Name,
                        GameId = CurrentUser.CurrentGame.Value
                    };
                    var response = ServerProvider.MakeRequest(request);
                    switch (response.Status)
                    {
                        case Statuses.Ok:
                            Console.WriteLine("Move done.");
                            CurrentUser.LastMove = new Move
                            {
                                From = request.From,
                                InWhom = null,
                                Player = CurrentUser.Name,
                                To = request.To
                            };
                            break;
                        case Statuses.NeedPawnPromotion:
                            Utils.Print("This pawn need promotion!");
                            Utils.Print("Your choise? (r - rook, n - knight, b - bishop, q - queen, c - cancel):");
                            CurrentUser.LastMove = new Move
                            {
                                From = request.From,
                                InWhom = null,
                                Player = CurrentUser.Name,
                                To = request.To
                            };
                            CurrentUser.NeedPawnPromotion = true;
                            break;
                        case Statuses.NoUser:
                            Console.WriteLine("No opponent yet.");
                            break;
                        case Statuses.OpponentTurn:
                            Console.WriteLine("Now is opponent turn.");
                            break;
                        case Statuses.WrongMove:
                            Console.WriteLine("Wrong move.");
                            break;
                        case Statuses.WrongMoveNotation:
                            Console.WriteLine("Wrong move notation.");
                            break;
                        default:
                            Console.WriteLine("Wrong status.");
                            break;
                    }
                }
            }
        }
CommandMove