Exemplo n.º 1
0
        public void TestToRemoveACustomer()
        {
            var aggregateStore = new InMemoryAggregateStore();
            var modelsStore    = new InMemoryReadModel();

            var reciever = new CustomerCommandsHandler(aggregateStore);
            var queries  = new CustomerQueriesHandler(modelsStore);

            var api = new CustomerApi(reciever, queries);

            var id = Guid.NewGuid();

            api.Process(new CreateCustomer {
                Id = id, Name = "Customer To Remove"
            });

            var customer = api.Retrieve <CustomerModel>(new GetCustomer
            {
                Id = id
            });

            customer.Should().NotBeNull();

            api.Process(new RemoveCustomer {
                Id = id
            });

            customer = api.Retrieve <CustomerModel>(new GetCustomer
            {
                Id = id
            });

            customer.Should().BeNull();
        }
Exemplo n.º 2
0
        public void TestToCreateTwoCustomerAndChangeOneOfThem()
        {
            var aggregateStore = new InMemoryAggregateStore();
            var modelsStore = new InMemoryReadModel();

            var reciever = new CustomerCommandsHandler(aggregateStore);
            var queries = new CustomerQueriesHandler(modelsStore);

            var api = new CustomerApi(reciever, queries);

            var id1 = Guid.NewGuid();
            var id2 = Guid.NewGuid();

            api.Process(new CreateCustomer { Id = id1, Name = "Customer One" });
            api.Process(new CreateCustomer { Id = id2, Name = "Customer Two" });

            api.Process(new ChangeCustomer { Id = id2, Name = "Customer Two Changed" });

            var customer = api.Retrieve<CustomerModel>(new GetCustomer
            {
                Id = id2
            });

            customer.Name.ShouldBeEquivalentTo("Customer Two Changed");
        }
Exemplo n.º 3
0
        public void TestToCreateAndChangeKundeViaApi()
        {
            var aggregateStore = new InMemoryAggregateStore();
            var queriesStore   = new InMemoryReadModel();

            var reciever = new CustomerCommandsHandler(aggregateStore);
            var queries  = new CustomerQueriesHandler(queriesStore);

            var api = new CustomerApi(reciever, queries);
            var id  = Guid.NewGuid();

            api.Process(new CreateCustomer {
                Id = id, Name = "My Customer"
            });
            api.Process(new ChangeCustomer {
                Id = id, Name = "New Name"
            });

            var customer = api.Retrieve <CustomerModel>(new GetCustomer
            {
                Id = id
            });

            customer.Name.ShouldBeEquivalentTo("New Name");
        }
Exemplo n.º 4
0
        public void TestToCreateTwoCustomerAndChangeOneOfThem()
        {
            var aggregateStore = new InMemoryAggregateStore();
            var modelsStore    = new InMemoryReadModel();

            var reciever = new CustomerCommandsHandler(aggregateStore);
            var queries  = new CustomerQueriesHandler(modelsStore);

            var api = new CustomerApi(reciever, queries);

            var id1 = Guid.NewGuid();
            var id2 = Guid.NewGuid();

            api.Process(new CreateCustomer {
                Id = id1, Name = "Customer One"
            });
            api.Process(new CreateCustomer {
                Id = id2, Name = "Customer Two"
            });

            api.Process(new ChangeCustomer {
                Id = id2, Name = "Customer Two Changed"
            });

            var customer = api.Retrieve <CustomerModel>(new GetCustomer
            {
                Id = id2
            });

            customer.Name.ShouldBeEquivalentTo("Customer Two Changed");
        }
Exemplo n.º 5
0
        public EditCustomerViewModel(int id)
        {
            this.context = new BankAppDataContext();
            this.customerCommandHandler = new CustomerCommandHandler(context);
            this.customerQueriesHandler = new CustomerQueriesHandler(context);

            Customer = customerQueriesHandler.GetCustomer(id);
            Birthday = (DateTime)Customer.Birthday;
        }
Exemplo n.º 6
0
 public IndexViewModel()
 {
     this.context          = new BankAppDataContext();
     this.Account_Queries  = new AccountQueriesHandler(context);
     this.Customer_Queries = new CustomerQueriesHandler(context);
     this.TotalCustomers   = Customer_Queries.GetCustomersList().Count;
     this.TotalAccounts    = Account_Queries.GetAllAccounts().Count;
     this.TotalBalance     = Account_Queries.CalculateTotalBalance();
 }
Exemplo n.º 7
0
        public CustomerProfile(int customerId)
        {
            this.context             = new BankAppDataContext();
            this.customer_queries    = new CustomerQueriesHandler(context);
            this.disposition_queries = new DispositionQueriesHandler(context);

            Customer = customer_queries.GetCustomer(customerId);
            this.ConnectedDispositions = disposition_queries.GetConnectedDispositions(Customer.CustomerId);
        }
Exemplo n.º 8
0
        public AccountViewModel(int accountId, int customerId)
        {
            this.context          = new BankAppDataContext();
            this.customer_queries = new CustomerQueriesHandler(context);
            this.account_queries  = new AccountQueriesHandler(context);

            Account  = account_queries.GetAccountWithTransactions(accountId);
            Customer = customer_queries.GetCustomer(customerId);
        }
Exemplo n.º 9
0
        public void Setup()
        {
            options = new DbContextOptionsBuilder <BankAppDataContext>()
                      .UseInMemoryDatabase(databaseName: "TestingDb")
                      .Options;

            systemClock               = Substitute.For <ISystemClock>();
            context                   = new BankAppDataContext(options);
            accountQueriesHandler     = new AccountQueriesHandler(context);
            accountCommandHandler     = new AccountCommandHandler(context);
            customerCommandHandler    = new CustomerCommandHandler(context);
            customerQueriesHandler    = new CustomerQueriesHandler(context);
            dispositionQueriesHandler = new DispositionQueriesHandler(context);
        }
Exemplo n.º 10
0
        public void TestToCreateCustomerAndReadIt()
        {
            var aggregateStore = new InMemoryAggregateStore();
            var readModel = new InMemoryReadModel();

            var commands = new CustomerCommandsHandler(aggregateStore);
            var queries = new CustomerQueriesHandler(readModel);

            var api = new CustomerApi(commands, queries);
            var id = Guid.NewGuid();

            api.Process(new CreateCustomer{Id = id, Name = "My Customer"});

            var customerModel = api.Retrieve<CustomerModel>(new GetCustomer {Id = id});

            customerModel.Name.ShouldBeEquivalentTo("My Customer");
        }
Exemplo n.º 11
0
        public void TestToCreateAndChangeKundeViaApi()
        {
            var aggregateStore = new InMemoryAggregateStore();
            var queriesStore = new InMemoryReadModel();

            var reciever = new CustomerCommandsHandler(aggregateStore);
            var queries = new CustomerQueriesHandler(queriesStore);

            var api = new CustomerApi(reciever, queries);
            var id = Guid.NewGuid();

            api.Process(new CreateCustomer { Id = id, Name = "My Customer" });
            api.Process(new ChangeCustomer { Id = id, Name = "New Name" });

            var customer = api.Retrieve<CustomerModel>(new GetCustomer
                {
                    Id = id
                });

            customer.Name.ShouldBeEquivalentTo("New Name");
        }
Exemplo n.º 12
0
        public void TestToCreateCustomerAndReadIt()
        {
            var aggregateStore = new InMemoryAggregateStore();
            var readModel      = new InMemoryReadModel();

            var commands = new CustomerCommandsHandler(aggregateStore);
            var queries  = new CustomerQueriesHandler(readModel);

            var api = new CustomerApi(commands, queries);
            var id  = Guid.NewGuid();

            api.Process(new CreateCustomer {
                Id = id, Name = "My Customer"
            });

            var customerModel = api.Retrieve <CustomerModel>(new GetCustomer {
                Id = id
            });

            customerModel.Name.ShouldBeEquivalentTo("My Customer");
        }
Exemplo n.º 13
0
 public EditCustomerViewModel()
 {
     this.context = new BankAppDataContext();
     this.customerCommandHandler = new CustomerCommandHandler(context);
     this.customerQueriesHandler = new CustomerQueriesHandler(context);
 }
Exemplo n.º 14
0
        public void TestToRemoveACustomer()
        {
            var aggregateStore = new InMemoryAggregateStore();
            var modelsStore = new InMemoryReadModel();

            var reciever = new CustomerCommandsHandler(aggregateStore);
            var queries = new CustomerQueriesHandler(modelsStore);

            var api = new CustomerApi(reciever, queries);

            var id = Guid.NewGuid();

            api.Process(new CreateCustomer { Id = id, Name = "Customer To Remove" });

            var customer = api.Retrieve<CustomerModel>(new GetCustomer
            {
                Id = id
            });

            customer.Should().NotBeNull();

            api.Process(new RemoveCustomer { Id = id });

            customer = api.Retrieve<CustomerModel>(new GetCustomer
            {
                Id = id
            });

            customer.Should().BeNull();
        }
Exemplo n.º 15
0
 public WebAPIController()
 {
     accountQueriesHandler   = new AccountQueriesHandler();
     transactionQueryHandler = new TransactionQueryHandler();
     customerQueriesHandler  = new CustomerQueriesHandler();
 }
Exemplo n.º 16
0
 public SearchCustomer()
 {
     this.context          = new BankAppDataContext();
     this.customer_queries = new CustomerQueriesHandler(context);
 }