public GerarDadosIniciaisDto GerarDadosIniciais(DadosIniciaisDto dadosIniciaisDto)
        {
            var validationResult      = _dadosIniciaisValidator.Validate(dadosIniciaisDto);
            var gerarDadosIniciaisDto = new GerarDadosIniciaisDto();

            if (!validationResult.IsValid)
            {
                return(RegistrarErros(gerarDadosIniciaisDto, validationResult));
            }

            var conta = new ContaBuilder()
                        .WithApelido(dadosIniciaisDto.ApelidoDaConta)
                        .WithAtivo(true)
                        .WithNome(dadosIniciaisDto.NomeDaConta)
                        .Build();

            var usuario = new UsuarioBuilder()
                          .WithAdministradorDaConta(true)
                          .WithApelido(dadosIniciaisDto.ApelidoParaUsuarioAdministrador)
                          .WithAtivo(true)
                          .WithEmail(dadosIniciaisDto.EmailParaUsuarioAdministrador)
                          .WithConta(conta)
                          .WithSenha(EncryptProvider.Md5(dadosIniciaisDto.SenhaParaUsuarioAdministrador))
                          .Build();

            _context.Contas.Add(conta);
            _context.Usuarios.Add(usuario);
            _context.SaveChanges();

            gerarDadosIniciaisDto.ContaDto   = _mapper.Map <Conta, ContaDto>(conta);
            gerarDadosIniciaisDto.UsuarioDto = _mapper.Map <Usuario, UsuarioDto>(usuario);

            gerarDadosIniciaisDto.IsValid = true;
            return(gerarDadosIniciaisDto);
        }
 public GerarDadosIniciaisDto RegistrarErros(GerarDadosIniciaisDto gerarDadosIniciaisDto, ValidationResult validationResult)
 {
     gerarDadosIniciaisDto.Errors  = validationResult.Errors;
     gerarDadosIniciaisDto.IsValid = validationResult.IsValid;
     return(gerarDadosIniciaisDto);
 }