public async Task <CustomerDetailModel> Handle(UpdateCustomerCommand request, CancellationToken cancellationToken) { var model = request.Customer; var validator = new UpdateCustomerModelValidator(); var validationResult = validator.Validate(model); if (!validationResult.IsValid) { throw new InvalidModelException(nameof(model)); } var entity = await _context.Customers .SingleAsync(c => c.CustomerId == model.Id, cancellationToken); if (entity == null) { throw new EntityNotFoundException(nameof(Customer), request.Customer.Id); } entity.Address = model.Address; entity.City = model.City; entity.CompanyName = model.CompanyName; entity.ContactName = model.ContactName; entity.ContactTitle = model.ContactTitle; entity.Country = model.Country; entity.Fax = model.Fax; entity.Phone = model.Phone; entity.PostalCode = model.PostalCode; _context.Customers.Update(entity); await _context.SaveChangesAsync(cancellationToken); return(CustomerDetailModel.Create(entity)); }
public UpdateCustomerModelValidatorTests() { _testee = new UpdateCustomerModelValidator(); }