Пример #1
0
        public async Task <CreateOutput> Handle(
            CreateCommand command,
            CancellationToken token)
        {
            var validationResult = await new CreateValidation()
                                   .ValidateAsync(
                command,
                token);

            if (!validationResult.IsValid)
            {
                return(new CreateOutput(
                           null,
                           null,
                           null,
                           validationResult));
            }

            var response = await _write
                           .Create(
                new AccountDomain(
                    null,
                    command.AccountName),
                token);

            await _write.UnitOfWork.SaveEntitiesAsync(token);

            return(new CreateOutput(
                       response.AccountName,
                       response.AccountNumber,
                       response.Balance,
                       validationResult));
        }