Example #1
0
        public void Can_create_DeposeCash_Command()
        {
            var id       = Guid.NewGuid();
            var funds    = 250;
            var @command = new DeposeCash(id, funds);

            Assert.NotNull(@command);
            Assert.Equal(id, @command.AccountId);
            Assert.Equal(funds, @command.Funds);
        }
Example #2
0
        public CommandResponse Handle(DeposeCash command)
        {
            if (!_repository.TryGetById <AccountAggregate.BankAccount>(command.AccountId, out var account))
            {
                throw new InvalidOperationException("No account with such ID");
            }
            account.DeposeCash(command.Funds, new DeposedCash(command.AccountId, command.Funds));
            _repository.Save(account);

            return(command.Succeed());
        }
Example #3
0
 public object CommandDeposeCash()
 {
     commander = new RequestSocket(">tcp://localhost:5555");
     using (var stream = new MemoryStream())
     {
         var command = new DeposeCash(Guid.NewGuid(), 100);
         Serializer.Serialize <DeposeCash>(stream, command);
         commander.SendFrame(stream.ToArray());
         var @event = commander.ReceiveFrameString();
         return(@event);
     }
 }