public Coordinate(int gridSize, string value) : this() { _gridSize = gridSize; var coordinateValue = new CoordinateValue(gridSize, value); var coordinateIndexes = coordinateValue.CreateIndexes(); if (AreValueAndIndexesValid(coordinateValue, coordinateIndexes)) { _value = coordinateValue; _indexes = coordinateIndexes; } }
public Coordinate(int gridSize, int heightIndex, int widthIndex) : this() { _gridSize = gridSize; var coordinateIndexes = new CoordinateIndexes(gridSize, heightIndex, widthIndex); var coordinateValue = coordinateIndexes.CreateValue(); if (AreValueAndIndexesValid(coordinateValue, coordinateIndexes)) { _indexes = coordinateIndexes; _value = coordinateValue; } }
private bool AreValueAndIndexesValid(CoordinateValue value, CoordinateIndexes indexes) => value.IsValid() && indexes.AreValid();
private Coordinate() { _value = new CoordinateValue(); _indexes = new CoordinateIndexes(); }