public void UpdateCoordinate(PointName pointName, PointCoordinate newPointCoordinate) => _analogPoints[pointName].Update(newPointCoordinate);
public Result <Maybe <AnalogCoordinateUpdated> > GenerateAnalogCoordinateUpdatedWith(PointName pointName, PointCoordinate newPointCoordinate) => _analogPoints.MaybeGetValue(pointName).Unwrap( analog => analog.GenerateAnalogCoordinateUpdatedWith(newPointCoordinate).ToOkResult(), () => Result.Fail <Maybe <AnalogCoordinateUpdated> >($"Analog point with name '{pointName}' doesnt exist in remote."));
public void Add(PointName pointName, PointCoordinate pointCoordinate) => _analogPoints.Add(pointName, AnalogFrom(_remoteId, pointName, pointCoordinate));
public Result <AnalogAdded> GenerateAnalogAddedFor(PointName pointName, PointCoordinate pointCoordinate) => _analogPoints.MaybeGetValue(pointName).Unwrap( _ => Result.Fail <AnalogAdded>($"Analog point with name {pointName} already exists in remote."), () => new AnalogAdded(_remoteId, pointName, pointCoordinate).ToOkResult());
public Result <Remote> UpdateAnalogCoordinate(PointName pointName, PointCoordinate newPointCoordinate) => _analogPoints.GenerateAnalogCoordinateUpdatedWith(pointName, newPointCoordinate) .OnSuccess(maybeEvent => maybeEvent.Map(ApplyChange)) .ToTypedResult(this);
public Result <Remote> AddAnalog(PointName pointName, PointCoordinate pointCoordinate) => _analogPoints.GenerateAnalogAddedFor(pointName, pointCoordinate) .OnSuccess(e => ApplyChange(e)) .ToTypedResult(this);