Example #1
0
        static void Main(string[] args)
        {
            var db = new DomainContext();

            var customer = new Customer("matt", "Matthew", "Smith");

            var savings = customer.RegisterSavingsAccount(500m);
            var loan = customer.RegisterLoanAccount(1000m);

            Console.WriteLine("Savings: {0:c}", savings.Balance);
            Console.WriteLine("Loan: {0:c}", loan.Balance);
            Console.WriteLine("Equity: {0:c}", customer.Equity);

            var savingsDebit = savings.Debit(100m, "$50 Deposit");
            var loanDebit = loan.Debit(100m, "$50 Repayment");
            var savingCredit = savings.Credit(250m, "$50 Withdrawal");

            try
            {
                loan.Credit(10m, "Invalid loan extension attempt");
            }
            catch(BusinessRuleException ex)
            {
                Console.WriteLine(ex.Message);
            }

            db.People.Add(customer);
            db.SaveChanges();
        }
Example #2
0
        public static void Create(DomainContext dc)
        {
            if (dc.Companies.Any())
            {
                return;
            }

            var address = new Address("平阳路{0}号", "太原", "030012");

            var companies = new List <Company>();

            for (var i = 0; i < 3; i++)
            {
                var company = new Company {
                    Id      = Guid.NewGuid(),
                    No      = (i + 1).ToString("00"),
                    Name    = $"公司-{i + 1:00}",
                    Status  = (int)EntityStatus.Normal,
                    Address = new Address(address)
                };
                company.Address.Street = string.Format(company.Address.Street, 18 + i);
                companies.Add(company);
            }

            var employees = new List <Employee>();
            var mn        = 13900000000;

            foreach (var company in companies)
            {
                for (var i = 0; i < 3; i++)
                {
                    var employee = new Employee {
                        Id        = Guid.NewGuid(),
                        CompanyId = company.Id,
                        MobileNo  = (mn + (Convert.ToInt32(company.No) * 1000) + i + 1).ToString(),
                        Name      = $"{company.Name}-{i + 1:000}",
                        Address   = new Address(company.Address),
                        Status    = (int)EntityStatus.Normal
                    };
                    employees.Add(employee);
                }
            }

            dc.Companies.AddRange(companies);
            dc.Employees.AddRange(employees);
            dc.SaveChanges();
        }