public async void CustomerRepositoryAsyncAllMethodTest() { // DbContextOptions<T> object creation var options = new DbContextOptionsBuilder <DotNetSaleCoreDbContext>() .UseInMemoryDatabase(databaseName: $"DotNetSaleCore{Guid.NewGuid()}").Options; // ILoggerFactory Object creation var serviceProvider = new ServiceCollection().AddLogging().BuildServiceProvider(); var factory = serviceProvider.GetService <ILoggerFactory>(); // [1] AddAsync() method test using (var context = new DotNetSaleCoreDbContext(options)) { // Repository Object Creation // [!] Arrange var repository = new CustomerRepositoryAsync(context, factory); var model = new Customer { CustomerName = "[1] 고객이름", Created = DateTime.Now }; // [!] Act await repository.AddAsync(model); await context.SaveChangesAsync(); } using (var context = new DotNetSaleCoreDbContext(options)) { // [!] Assert Assert.AreEqual(1, await context.Customers.CountAsync()); var model = await context.Customers.Where(m => m.CustomerId == 1).SingleOrDefaultAsync(); Assert.AreEqual("[1] 고객이름", model?.CustomerName); } }
protected async void btnSaveOrUpdate_Click() { if (Model.CustomerId == 0) { await CustomerRepositoryAsync.AddAsync(Model); SaveOrUpdated?.Invoke(); } else { await CustomerRepositoryAsync.EditAsync(Model); await ChangeCallback.InvokeAsync(true); } IsShow = false; }
protected async void btnSaveOrUpdate_Click() { // 변경 내용 저장 Model.CustomerName = ModelEdit.CustomerName; Model.EmailAddress = ModelEdit.EmailAddress; if (Model.CustomerId == 0) { await CustomerRepositoryAsync.AddAsync(Model); SaveOrUpdated?.Invoke(); } else { await CustomerRepositoryAsync.EditAsync(Model); await ChangeCallback.InvokeAsync(true); } IsShow = false; }