public void SalvarUsuarioSemSenha()
        {
            var unit = new MainUnitOfWork();
            var usuarioRepository = new UsuarioRepository(unit);
            string erroSenha = "erro";

            Usuario usuario = new Usuario();
            usuario.Login = "******";
            //usuario.Senha = "123";
            usuario.Status = "A";
            usuario.Email = "*****@*****.**";

            var erros = usuario.FazerSeForValido<Usuario>(() =>
                {
                    usuarioRepository.Add(usuario);
                    usuarioRepository.UnitOfWork.Commit();
                    //unit.Commit();
                });

            if (erros.ExistemErros())
                erroSenha = erros.FirstOrDefault();

            Assert.IsTrue(erros.ExistemErros(), "Erros encontrados na validação da entidade!");
            Assert.AreEqual(erroSenha, "O campo Senha da entidade não pode ser nulo...", "Validação do campo senha!");

            //var usuarioCadastrado = usuarioRepository.ObterPeloLogin(usuario.Login).FirstOrDefault();

            //Assert.IsNotNull(usuarioCadastrado);
            //Assert.AreEqual(usuarioCadastrado.Login, usuario.Login, "Usuário cadastrado com sucesso!");
        }
        public BusinessResponse<bool> Salvar(Usuario item)
        {
            bool cadastrado = false;
            string msgErro = string.Empty;

            //var erros = item.FazerSeForValido<Usuario>(() =>
            //{
                _usuarioRepository.Add(item);
                cadastrado = (_usuarioRepository.UnitOfWork.Commit() > 0);
            //});

            //if (erros.ExistemErros())
                //msgErro = erros.FirstOrDefault();

            return new BusinessResponse<bool>(cadastrado, msgErro);
        }
        public void ObterUsuarioPeloLogin()
        {
            var _QUERY_DELETE_USUARIO = "delete from kadastro.dbo.usuario where Login like 'TesteUsuarioLogin';";
            unit.ExecuteCommand(_QUERY_DELETE_USUARIO);

            var usuario = new Usuario();
            usuario.Login = "******";
            usuario.Senha = "123";
            usuario.Status = "A";
            usuario.Email = "*****@*****.**";
            //usuario.PerfilAcesso = PerfilAcesso.Desenvolvedor;

            usuarioRepository.Add(usuario);
            unit.Commit();

            var usuarioCadastrado = usuarioRepository.ObterPeloLogin(usuario.Login).FirstOrDefault();

            Assert.IsNotNull(usuarioCadastrado);
            Assert.AreEqual(usuarioCadastrado.Login, usuario.Login, "Usuário cadastrado com sucesso!");
            Assert.AreEqual("Ativo", usuarioCadastrado.DescricaoDoStatus);
        }