Exemple #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);
        }
        public async Task <OkObjectResult> Post([FromBody] UsuarioDto usuarioDto)
        {
            var resultado = new Retorno <UsuarioDto>();

            Usuario usuario = await _usuarioService.InserirAsync(usuarioDto.ToEntity());

            if (usuario.Id == 0)
            {
                resultado.Mensagens.Add(new MensagemSistemaDto()
                {
                    Titulo = "Inclusão", Mensagem = string.Format(" Já existe um usuário cadastrado com esse login: {0}", usuario.Login)
                });
                resultado.Status = ResultadoOperacao.Falha;
                return(Ok(resultado));
            }

            resultado.Objeto = new UsuarioDto(usuario);
            resultado.Status = ResultadoOperacao.Sucesso;

            return(Ok(resultado));
        }
Exemple #3
0
        public async Task <UsuarioDto> EditarAsync(UsuarioDto usuarioDto)
        {
            using var dbTransaction = _repository.BeginTransaction(_validator);
            if (!await _validator.ValidarAsync(usuarioDto))
            {
                return(null);
            }

            Usuario usuario = usuarioDto.ToEntity();

            usuario.Prepare();

            Usuario usuarioDb = await _repository.ObterPorIdAsync(usuario.Id);

            usuario.Login    = usuarioDb.Login;
            usuario.Password = usuarioDb.Password;

            await _repository.EditarAsync(usuario);

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

            return(dto);
        }