예제 #1
0
        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);
            }
        }
예제 #2
0
 public Confirmer ConfirmerFor(IProjectable projectable, IProjectionControl control) => ProjectionControl.ConfirmerFor(projectable, control);