示例#1
0
        public async Task <UsuarioDto> CadastrarAsync(UsuarioDto usuarioDto)
        {
            using var dbTransaction = _repository.BeginTransaction(_validator);
            if (!await _validator.ValidarAsync(usuarioDto))
            {
                return(null);
            }

            Usuario usuario = usuarioDto.ToEntity();

            usuario.Id = _geradorGuidService.GetNexGuid();
            usuario.Prepare();
            Usuario usuarioDb = await _repository.CadastrarAsync(usuario);

            UsuarioDto dto = usuarioDb.ToDto();
            await _serviceCache.SalvarAsync(dto.Id, dto);

            return(dto);
        }