public async Task <CreateCustomerResult> Handle(CreateCustomerRequest request, CancellationToken cancellationToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            _validator.ValidateAndThrow(request.Model);

            var options = new CustomerCreateOptions
            {
                Name  = request.Model.Name,
                Email = request.Model.Email
            };

            var customer = await _customerService.CreateAsync(options, null, cancellationToken);

            _logger.LogInformation("Customer is created with ID: " + customer.Id);
            GetCustomerModel model = new GetCustomerModel
            {
                Id    = customer.Id,
                Name  = customer.Name,
                Email = customer.Email
            };

            CreateCustomerResult result = new CreateCustomerResult(model);

            return(result);
        }
예제 #2
0
        public void Execute(CustomerDto request)
        {
            _validator.ValidateAndThrow(request); //ValidationException

            var customer = new Customers
            {
                FirstName = request.FirstName,
                Email     = request.Email,
                LastName  = request.LastName,
                Phone     = request.Phone,
                Id        = request.Id
            };

            _context.Entry(customer).State = customer.Id > 0 ? EntityState.Modified : EntityState.Added;

            _context.SaveChanges();
        }