コード例 #1
0
        public async Task <Usuario> Alterar(UsuarioFront entidade)
        {
            Usuario entidadeBanco = new Usuario(entidade);

            try
            {
                _context.Entry <Usuario>(entidadeBanco).State = EntityState.Modified;
                await _context.SaveChangesAsync();

                return(entidadeBanco);
            }
            catch (DbUpdateConcurrencyException erroConcorrencia)
            {
                _logger.LogError("Erro de concorrência, registro já estava sendo atualizado.");
                _logger.LogError(erroConcorrencia.ToString());
                entidade.Codigo = 0;
                return(entidadeBanco);
            }
            catch (System.Exception ex)
            {
                _logger.LogError("Não foi possivel altearar o usuário");
                _logger.LogError(ex.ToString());
                entidade.Codigo = 0;
                return(entidadeBanco);
            }
        }
コード例 #2
0
        public async Task <dynamic> Login(UsuarioLogin entidade)
        {
            UsuarioFront usuarioFrontLogin = new UsuarioFront(entidade);
            Usuario      entidadeLogin     = new Usuario(usuarioFrontLogin);

            var usuario = await _context.Usuario
                          .AsNoTracking()
                          .Where(x => x.Nome == entidadeLogin.Nome && x.Senha == entidadeLogin.Senha)
                          .FirstOrDefaultAsync();

            if (usuario == null)
            {
                return(new
                {
                    usuario = new Usuario {
                    },
                    mensagem = "Não foi possível efetuar login, usuário ou senha incorretos."
                });
            }
            else
            {
                usuario.Senha = "********";
            }

            var token = "Bearer " + UsuarioTokenService.GenerateToken(usuario);

            return(new
            {
                usuario = usuario,
                token = token
            });
        }
コード例 #3
0
        public async Task <Usuario> Inserir(UsuarioFront entidade)
        {
            entidade.Codigo = 0;
            Usuario entidadeBanco = new Usuario(entidade);

            //Chamar função para preencher endereço.
            var resultado = _viaCep.ConsultarCep(entidade.Cep).Result;

            if (resultado != null)
            {
                var endereco = new Cep(resultado);

                entidadeBanco.Logradouro = endereco.Logradouro;
                entidadeBanco.Bairro     = endereco.Bairro;
                entidadeBanco.Cidade     = endereco.Cidade;
            }



            try
            {
                _context.Usuario.Add(entidadeBanco);
                await _context.SaveChangesAsync();

                return(entidadeBanco);
            }
            catch (System.Exception ex)
            {
                _logger.LogError("Não foi possivel criar o usuário");
                _logger.LogError(ex.ToString());
                return(entidadeBanco);
            }
        }
コード例 #4
0
        //[Authorize(Roles ="administrador,gerente")]
        public async Task <ActionResult <UsuarioFront> > Post(
            [FromBody] UsuarioFront entidade)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            Usuario entidadeRetorno = await _usuarioNegocio.Inserir(entidade);

            if (entidadeRetorno.Codigo == 0)
            {
                return(BadRequest(new { mensagem = "Não foi possivel criar o usuário" }));
            }
            else
            {
                return(Ok(entidadeRetorno));
            }
        }
コード例 #5
0
        public async Task <ActionResult <UsuarioFront> > Put(int codigo, [FromBody] UsuarioFront entidade)
        {
            if (entidade.Codigo != codigo)
            {
                return(BadRequest(new { mensagem = "Você não pode alterar o código" }));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Usuario entidadeRetorno = await _usuarioNegocio.Alterar(entidade);

            if (entidadeRetorno.Codigo == 0)
            {
                return(BadRequest(new { mensagem = "Não foi possível atualizar a entidade" }));
            }
            else
            {
                return(Ok(entidade));
            }
        }