Esempio n. 1
0
        public async Task <GetCustomerResult> Handle(GetCustomerRequest request, CancellationToken cancellationToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var customer = await _customerService.GetAsync(request.Model.Id, null, null, cancellationToken);

            if (customer == null)
            {
                return(null);
            }

            GetCustomerModel model = new GetCustomerModel
            {
                Id    = customer.Id,
                Name  = customer.Name,
                Email = customer.Email
            };

            GetCustomerResult result = new GetCustomerResult(model);

            return(result);
        }
        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);
        }
Esempio n. 3
0
 public GetCustomerResult(GetCustomerModel model)
 {
     Customer = model ?? throw new ArgumentNullException(nameof(model));
 }