public async Task <ShotInformation> Shot(string coordinates) { _coordinatesValidator.ValidateParsedCoordinates(coordinates); var shotCoordinates = new Coordinates(coordinates); var battle = await _battleRepository.GetBattle(); var shotInformation = battle.Shot(shotCoordinates); await _battleRepository.UpdateBattle(battle); return(shotInformation); }
public IEnumerable <ShipCoordinates> Parse(string coordinates) { var shipsCoordinates = coordinates.Split(',').Where(x => !string.IsNullOrWhiteSpace(x)); foreach (var shipCoordinates in shipsCoordinates) { var parsedCoordinatesOfShip = shipCoordinates.Split(' ') .Where(x => !string.IsNullOrWhiteSpace(x)) .ToList(); _coordinatesValidator.ValidateParsedCoordinates(parsedCoordinatesOfShip); yield return(CreateShipCoordinates(parsedCoordinatesOfShip)); } }