示例#1
0
        public void On(ISubscriptionContext <Places> context, IncrementEvent evt)
        {
            Balance++;


            context.Logger.LogInformation($"Increment {context.Key} to {Balance} in response to {evt}");
        }
示例#2
0
 public void On(ISubscriptionContext <Guid> context, UserSignedUp evt)
 {
     Owner        = evt.UserId;
     Created      = evt.Timestamp;
     LastModified = evt.Timestamp;
     Balance      = 0;
 }
示例#3
0
 public void On(ISubscriptionContext <string> context, UserSignedUp evt)
 {
     Created            = evt.Timestamp;
     FullName           = evt.FullName;
     InitialCredentials = evt.InitialCredentials;
     Accounts.Add(evt.SavingsAccountId);
     Accounts.Add(evt.CheckingAccountId);
 }
示例#4
0
 public NotifySender(ISubscriptionContext ctx, INotifySenderUtil util)
 {
     this.ctx                  = ctx;
     this.util                 = util;
     this.file_seq             = ctx.files_from_seq;
     this.label_seq            = new Dictionary <Guid, long>();
     this.home_sharing_enabled = util.HomeSharingEnabled;
 }
示例#5
0
        public void On(ISubscriptionContext context, PingEvent pingEvent)
        {
            count++;

            context.Logger.LogInformation($"Received: {pingEvent.Message}");

            context.ForkEvent(new PongEvent()
            {
                Message = $"Echo {pingEvent.Message}",
            });
        }
        public void On(ISubscriptionContext <Guid> context, AmountTransferred evt)
        {
            if (evt.TransferRequest.FromAccount == context.Key)
            {
                Balance -= evt.TransferRequest.Amount;
            }
            else if (evt.TransferRequest.ToAccount == context.Key)
            {
                Balance += evt.TransferRequest.Amount;
            }

            LastModified = evt.Timestamp;
        }
示例#7
0
 public void On(ISubscriptionContext <GeoLocation> context, RiderEvent evt)
 {
     if (GeoLocation.Equals(context.Key, evt.PreviousAvailability))
     {
         AvailableRiders.Remove(evt.RiderId);
     }
     else if (GeoLocation.Equals(context.Key, evt.CurrentAvailability))
     {
         AvailableRiders.Add(evt.RiderId, evt);
         context.ForkOrchestration(new TryMatchRider()
         {
             AvailableRider = evt
         });
     }
 }
示例#8
0
        public void On(ISubscriptionContext context, PongEvent pongEvent)
        {
            count++;

            context.Logger.LogInformation($"Received: {pongEvent.Message}");

            // Send a ping event unless we have reach max count
            if (count < SendFirstPing.NumberOfEvents)
            {
                context.ForkEvent(new PingEvent()
                {
                    Message = $"Ping #{count + 1}",
                });
            }
        }
示例#9
0
        public void On(ISubscriptionContext <Guid> context, AmountTransferred evt)
        {
            // if this account is the source of the transfer, decrease balance by amount
            if (evt.TransferRequest.FromAccount == context.Key)
            {
                Balance -= evt.TransferRequest.Amount;
            }

            // if this account is the destination of the transfer, increase balance by amount
            if (evt.TransferRequest.ToAccount == context.Key)
            {
                Balance += evt.TransferRequest.Amount;
            }

            LastModified = evt.Timestamp;
        }
示例#10
0
        public void On(ISubscriptionContext <Guid> context, UserSignedUp evt)
        {
            Owner = evt.UserId;

            Created      = evt.Timestamp;
            LastModified = evt.Timestamp;

            if (evt.CheckingAccountId == context.Key)
            {
                Type    = AccountType.Checking;
                Balance = 10;
            }
            else if (evt.SavingsAccountId == context.Key)
            {
                Type    = AccountType.Savings;
                Balance = 0;
            }
        }
示例#11
0
 public void On(ISubscriptionContext <string> context, BankAccountCreated evt)
 {
     Accounts.Add(evt.AccountId);
 }
示例#12
0
 public void On(ISubscriptionContext <Guid> context, BankAccountCreated evt)
 {
     Owner = evt.UserId;
 }
示例#13
0
 public void On(ISubscriptionContext <int> context, MultiEventThree evt)
 {
     Balance++;
 }
示例#14
0
 public void On(ISubscriptionContext <string> context, RideFinishedEvent evt)
 {
     CurrentRide = null;
 }
示例#15
0
 public void On(ISubscriptionContext <string> context, RideMatchedEvent evt)
 {
     Availability = null;
     CurrentRide  = evt;
 }
示例#16
0
 public void On(ISubscriptionContext <string> context, RiderEvent evt)
 {
     Availability = evt.CurrentAvailability;
 }
示例#17
0
 public SubscriptionDAO(ISubscriptionContext context, ICounterDAO counterDAO)
 {
     _context    = context;
     _counterDAO = counterDAO;
 }
示例#18
0
 public void On(ISubscriptionContext <GeoLocation> context, RideMatchedEvent evt)
 {
     AvailableDrivers.Remove(evt.DriverId);
     AvailableRiders.Remove(evt.RiderId);
 }
示例#19
0
 public void On(ISubscriptionContext context, CollisionFoundEvent e)
 {
     Collisions.Add(e.Collision);
 }
示例#20
0
 public void On(ISubscriptionContext context, SomeEvent evt)
 {
     Count++;
 }
 public SubscriptionRepository(ISubscriptionContext context)
 {
     _context = context;
 }
示例#22
0
 public void On(ISubscriptionContext <uint> context, IncrementEvent evt)
 {
     Count++;
 }