public List <string> CheckIfCanMovePiece(string ChessmanPosition, ChessPiceType Chessman) { IBoardService boardService = new BoardService(); PiceFactory piceFactory = new PiceFactory(); IChessMoveChecker pice = piceFactory.CreatePice(Chessman); return(pice.AvailableMoves(ChessmanPosition, boardService)); }
public ChessMoveResponse PostCheckMove(ChessMoveRequest item) { IBoardService boardService = new BoardService(); PiceFactory piceFactory = new PiceFactory(); IChessMoveChecker pice = piceFactory.CreatePice(item.ChessPice); ChessMoveResponse resp = new ChessMoveResponse(); resp.IsAvailable = pice.CheckMove(item.StartPosition, item.DestinationPosition, boardService); if (resp.IsAvailable) { resp.Message = "Message from Backend. Move is available."; } else { resp.Message = "Message from Backend. Move is NOT available."; } return(resp); }