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(); }
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(); }