Example #1
0
 private RillTransaction(IRill rill)
 {
     _sync             = new SemaphoreSlim(1, 1);
     _rill             = rill;
     _stage            = new ConcurrentQueue <Event>();
     _rillSubscription = Subscribe();
 }
Example #2
0
        public OrderView(IRill rill)
        {
            Reference = rill.Reference;

            rill.Where <OrderPlaced>(ev => ev.Content.Amount > 1).Select(ev => ev.Content.Amount).Subscribe(amount => { });
            rill.When <OrderPlaced>().Where(ev => ev.Content.Amount > 1).Select(ev => ev.Content.Amount).Subscribe(amount => { });

            rill.When <OrderPlaced>().Subscribe(ev =>
            {
                OrderNumber = ev.Content.OrderNumber;
                PlacedAt    = ev.Content.PlacedAt;
                CustomerRef = ev.Content.CustomerRef;
                Amount      = ev.Content.Amount;
            });
            rill.When <OrderApproved>().Subscribe(ev => ApprovedAt = ev.Content.ApprovedAt);
            rill.When <OrderShipped>().Subscribe(ev => ShippedAt   = ev.Content.ShippedAt);
        }
Example #3
0
 public static IRillTransaction Begin(IRill rill)
 => new RillTransaction(rill);