public async Task <IActionResult> AddShip(string battleId, [FromBody] AddShipRequest addShipRequest) { try { var direction = (ShipDirection)Enum.Parse(typeof(ShipDirection), addShipRequest.ShipDirection, true); var ship = await _battleService.AddShip( battleId, new Coordinate(addShipRequest.Column, addShipRequest.Row), direction ); return(Created(Request.Path, ship)); } catch (InvalidShipCreationException ex) { _logger.LogError(ex.Message); return(Conflict(ex)); } catch (FailedShipCreationException ex) { _logger.LogError(ex.Message); return(BadRequest(ex)); } }