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)); }
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); }