public void ConfirmProjected(string projectionId) { if (!_confirmables.TryGetValue(projectionId, out var confirmable)) { return; // too many confirms possible } var total = confirmable.Total + 1; if (confirmable.Count < total) { _confirmables.Add(projectionId, confirmable.IncrementTotal()); } else { ProjectionControl.ConfirmerFor(confirmable.Projectable, _projectionControl).Confirm(); _confirmables.Remove(projectionId); } }
public Confirmer ConfirmerFor(IProjectable projectable, IProjectionControl control) => ProjectionControl.ConfirmerFor(projectable, control);