コード例 #1
0
        public UsuarioModel ObterPorEmailSenha(string email, string senha)
        {
            var     hash    = PasswordEncrypt.Hash(senha);
            Usuario usuario = _data.ObterPorEmailSenha(email, hash);

            return(_mapper.Map <UsuarioModel>(usuario));
        }
コード例 #2
0
        public Resultado AtualizarFull(UsuarioModel model)
        {
            Resultado resultado = DadosValidos(model);

            resultado.Acao = "Atualização de Usuário";

            if (resultado.Inconsistencias.Count == 0)
            {
                Usuario usuario = _data.Obter(model.ID);

                if (usuario == null)
                {
                    resultado.Inconsistencias.Add(
                        "Usuário não encontrado");
                }
                else
                {
                    _mapper.Map(model, usuario);
                    usuario.Senha = PasswordEncrypt.Hash(usuario.Senha);
                    _data.Salvar(usuario);
                }
            }

            return(resultado);
        }
コード例 #3
0
        private void DataCreate()
        {
            var result = _controller.Get();

            if (result == null || !result.Any(p => p.Email == "*****@*****.**"))
            {
                DataPopulatorTest.Init(PasswordEncrypt.Hash("12345"));
            }
        }
コード例 #4
0
        public void AtualizarSenha()
        {
            this.DataCreate();

            var senhaAntiga = "12345";
            var senha       = "joT@111";
            var hash        = PasswordEncrypt.Hash(senha);

            UsuarioUpdateSenhaModel model = new UsuarioUpdateSenhaModel()
            {
                Email       = "*****@*****.**",
                SenhaAntiga = senhaAntiga,
                SenhaNova   = senha
            };
            // Act
            var result = _controller.AtualizarSenha(model);

            // Assert
            Assert.NotNull(result);
            var item = Assert.IsType <Resultado>(result);

            Assert.True(item.Sucesso);
            Assert.Empty(item.Inconsistencias);

            var list = _controller.Get();

            Assert.NotNull(list);
            Assert.NotEmpty(list);
            var items = Assert.IsType <List <UsuarioModel> >(list);

            Assert.Single(items);

            var usuario = items.First();

            Assert.Equal(hash, usuario.Senha);

            //Back
            model.SenhaAntiga = senha;
            model.SenhaNova   = senhaAntiga;
            result            = _controller.AtualizarSenha(model);
            Assert.NotNull(result);
            Assert.True(item.Sucesso);
            Assert.Empty(item.Inconsistencias);
        }
コード例 #5
0
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();

#if DEBUG
                //cria usuário de teste
                DataPopulatorTest.Init(PasswordEncrypt.Hash("12345"));
#endif
            }

            app.UseMvc();
            app.UseSwagger();

            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "Juntos API Usuários V1");
            });
        }
コード例 #6
0
        public Resultado Incluir(UsuarioModel model)
        {
            Resultado resultado = DadosValidos(model);

            resultado.Acao = "Inclusão de Usuário";

            if (resultado.Inconsistencias.Count == 0 &&
                _data.ObterPorEmail(model.Email) != null)
            {
                resultado.Inconsistencias.Add(
                    "E-mail já cadastrado");
            }

            if (resultado.Inconsistencias.Count == 0)
            {
                model.Senha = PasswordEncrypt.Hash(model.Senha);
                _data.Salvar(_mapper.Map <Usuario>(model));
            }

            return(resultado);
        }
コード例 #7
0
        public Resultado AtualizarSenha(UsuarioUpdateSenhaModel model)
        {
            Resultado resultado = DadosValidos(model);

            resultado.Acao = "Troca de Senha do Usuário";

            if (resultado.Inconsistencias.Count == 0)
            {
                Usuario usuario = _data.ObterPorEmailSenha(model.Email, PasswordEncrypt.Hash(model.SenhaAntiga));

                if (usuario == null)
                {
                    resultado.Inconsistencias.Add(
                        "Usuário não encontrado");
                }
                else
                {
                    usuario.Senha = PasswordEncrypt.Hash(model.SenhaNova);
                    _data.Salvar(usuario);
                }
            }

            return(resultado);
        }