Beispiel #1
0
        public static void Callback(this Qbobject qobj)
        {
            // make a copy of the list so callbacks can queue more operations
            var cbList  = qobj.GetOrSetAttached(() => new List <Action <QBObjectResult> >()).Value;
            var cbsCopy = cbList.ToArray();

            cbList.Clear();

            var zip = qobj.Results.Zip(cbsCopy, (r, cb) => new { r, cb });

            foreach (var x in zip)
            {
                x.cb(x.r);
            }
        }
Beispiel #2
0
 public static void RegCallback(this Qbobject qobj, Action <QBObjectResult> action)
 {
     qobj.GetOrSetAttached(() => new List <Action <QBObjectResult> >()).Value.Add(action);
 }
Beispiel #3
0
 public static void ProcessQueueAndCallback(this Qbobject qobj)
 {
     qobj.ProcessQueue();
     qobj.Callback();
 }
Beispiel #4
0
 public static void QueueWithCallback(this Qbobject qobj, string aggregate, Action <QBObjectResult> action)
 {
     qobj.Queue(aggregate);
     qobj.RegCallback(action);
 }