public IActionResult AddBattleShip(BattleshipModel battleshipModel)
        {
            try
            {
                string username = GetCurrentUserName();
                var    result   = _battleshipGameService
                                  .AddBattleship(username, battleshipModel.Ship
                                                 , battleshipModel.StartPosition, battleshipModel.ShipPlacement);

                if (result)
                {
                    return(ResponseMessageHelper.Ok("Ship Added"));
                }
                else
                {
                    return(ResponseMessageHelper.InternalServerError());
                }
            }
            catch (BattleshipGameException ex)
            {
                return(ResponseMessageHelper.BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                //write exception to a error log

                return(ResponseMessageHelper.InternalServerError());
            }
        }
 public IActionResult Reset()
 {
     try
     {
         _battleshipGameService.ResetGame();
         return(ResponseMessageHelper.Ok(""));
     }
     catch (BattleshipGameException ex)
     {
         return(ResponseMessageHelper.BadRequest(ex.Message));
     }
     catch (Exception ex)
     {
         //write exception to a error log
         return(ResponseMessageHelper.InternalServerError());
     }
 }
        public IActionResult CreateBoard()
        {
            try
            {
                string username = GetCurrentUserName();
                _battleshipGameService.CreateBoard(username, _config.Value.BoardSize);
                return(ResponseMessageHelper.OkCreated("Board created"));
            }
            catch (BattleshipGameException ex)
            {
                return(ResponseMessageHelper.BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                //write exception to a error log

                return(ResponseMessageHelper.InternalServerError());
            }
        }
        public IActionResult CreatePlayer()
        {
            try
            {
                var playerName = GetCurrentUserName();

                _battleshipGameService.CreatePlayer(playerName);

                return(ResponseMessageHelper.OkCreated($"Good Luck! {playerName}"));
            }
            catch (BattleshipGameException ex)
            {
                return(ResponseMessageHelper.BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                //write exception to a error log

                return(ResponseMessageHelper.InternalServerError());
            }
        }
        public IActionResult Attack(AttackModel attackModel)
        {
            try
            {
                string username = GetCurrentUserName();

                var result = _battleshipGameService
                             .Attack(username, attackModel.Position);
                return(ResponseMessageHelper.Ok(result.ToString()));
            }
            catch (BattleshipGameException ex)
            {
                return(ResponseMessageHelper.BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                //write exception to a error log

                return(ResponseMessageHelper.InternalServerError());
            }
        }