示例#1
0
        public void CreateValidAccounts()
        {
            RunTestMethod(() => {
                // Add customer records
                IDataPortalResult result    = null;
                DataTable customerDataTable = DataTableFactory.Customer();

                customerDataTable.AddCustomerRow(code: "AAA");
                customerDataTable.AddCustomerRow(code: "BBB");

                result = DataPortal.Persist__Customer(customerDataTable);

                // Add account records for each customer
                DataTable accountDataTable = DataTableFactory.Account();

                long customerID = (long)customerDataTable.Rows[0]["CustomerID"];
                accountDataTable.AddAccountRow(customerID: customerID, code: "AAA");
                accountDataTable.AddAccountRow(customerID: customerID, code: "BBB");

                customerID = (long)customerDataTable.Rows[1]["CustomerID"];
                accountDataTable.AddAccountRow(customerID: customerID, code: "AAA");
                accountDataTable.AddAccountRow(customerID: customerID, code: "BBB");

                result = DataPortal.Persist__Account(accountDataTable);

                // Assertions
                Assert.True(result.OK, $"Database operation returned error: {result.FirstErrorMessage}");
                Assert.Equal(4, result.RowsUpdated);
            });
        }
示例#2
0
        public void CreateAccountsWithSameCustomerIDAndName()
        {
            RunTestMethod(() => {
                // Add customer record
                IDataPortalResult result    = null;
                DataTable customerDataTable = DataTableFactory.Customer();

                customerDataTable.AddCustomerRow(code: "AAA");

                result = DataPortal.Persist__Customer(customerDataTable);

                // Add account records for customer with matching name
                DataTable accountDataTable = DataTableFactory.Account(includeConstraints: false);

                long customerID = (long)customerDataTable.Rows[0]["CustomerID"];
                accountDataTable.AddAccountRow(customerID: customerID, code: "AAA", account: "AAA");
                accountDataTable.AddAccountRow(customerID: customerID, code: "BBB", account: "AAA");

                result = DataPortal.Persist__Account(accountDataTable);

                Assert.False(result.OK);
            });
        }
示例#3
0
        public void CreateDatabase()
        {
            DataTableFactory  dataTableFactory = new DataTableFactory();
            IDataPortalResult result           = null;

            #region Create Customers

            DataTable customerDataTable = dataTableFactory.Customer();

            for (int customerIndex = 1; customerIndex <= 100; customerIndex++)
            {
                customerDataTable.AddCustomerRow(code: $"{customerIndex.ToString().PadLeft(4, '0')}");
            }

            result = DataPortal.Persist__Customer(customerDataTable);

            Assert.True(result.OK, $"Database operation returned error: {result.FirstErrorMessage}");
            Assert.Equal(100, result.RowsUpdated);

            #endregion

            #region Create Accounts

            DataTable accountDataTable = dataTableFactory.Account();

            foreach (DataRow parentDataRow in customerDataTable.Rows)
            {
                for (int accountIndex = 1; accountIndex <= 3; accountIndex++)
                {
                    accountDataTable.AddAccountRow(customerID: (long)parentDataRow["CustomerID"], code: $"{accountIndex.ToString().PadLeft(4, '0')}");
                }
            }

            result = DataPortal.Persist__Account(accountDataTable);

            Assert.True(result.OK, $"Database operation returned error: {result.FirstErrorMessage}");
            Assert.Equal(300, result.RowsUpdated);

            #endregion
        }