示例#1
0
        public DtoChave logar(string email, string senha)
        {
            Chave mChave = new Chave();

            DBCatalogDataContext dataContext = new DBCatalogDataContext();
            var usuarioBanco = dataContext.tb_Usuarios.FirstOrDefault(u => u.email == email && u.senha == senha);
            var usuarioSenhaAlternativaBanco = dataContext.tb_SenhaAlternativas.FirstOrDefault(u => u.tb_Usuario.email == email && u.senha == senha);

            var verificarSenhaAlternativaBanco = dataContext.tb_SenhaAlternativas.FirstOrDefault(u => u.tb_Usuario.email == email);

            if (usuarioBanco != null)
            {
                if (verificarSenhaAlternativaBanco != null)
                {
                    dataContext.tb_SenhaAlternativas.DeleteOnSubmit(verificarSenhaAlternativaBanco);
                    dataContext.SubmitChanges();
                }

                DtoChave chave = mChave.criarChave(usuarioBanco.id);
                return chave;
            }
            else if (usuarioSenhaAlternativaBanco != null)
            {
                DtoChave chave = new DtoChave();
                chave.idUsuario = usuarioSenhaAlternativaBanco.idUsuario;
                chave.token = "00000";
                chave.ultimoAcesso = new TimeSpan().ToString();
                return chave;
            }
            else
            {
                throw new DtoExcecao(DTO.Enum.CampoInvalido, "Email e Senha não conferem");
            }
        }
 public DtoRetornoObjeto(DtoChave chave, Object objeto, string destino = "this")
     : base("ACK", destino)
 {
     this.chave = chave;
     this.objeto = objeto;
 }
示例#3
0
        public void CadastrarProdutoRepetido()
        {
            produto.id = 4;
            produto.nome = "zerr";
            produto.idTipo = 1;
            produto.codigoDeBarras = "01234567890123456789012345678901234567890123456789";
            produto.idFabricante = 3;
            produto.fabricante = new DtoFabricante();
            produto.fabricante.id = 3;
            produto.fabricante.fabricante = "zas zas123zas zas123zas zas123zas zas123zas zas123";

            string retornoJson = cProduto.criarProduto(js.Serialize(chave), js.Serialize(produto));
            DtoRetorno retorno = new DtoRetorno("");
            try
            {
                retorno = js.Deserialize<DtoRetornoObjeto>(retornoJson);
            }
            catch
            {
                Assert.Fail();
            }

            //Retorno sucesso
            Assert.Equals(retorno.tipoRetorno, "ACK");

            //Chave atualizada
            Assert.IsNotNull(((DtoRetornoObjeto)retorno).chave);
            DtoChave chaveAtualizada = (DtoChave)((DtoRetornoObjeto)retorno).chave;
            Assert.Equals(chaveAtualizada.idUsuario, chave.idUsuario);
            Assert.AreNotEqual(chaveAtualizada.token, chave.token);
            Assert.AreNotEqual(chaveAtualizada.ultimoAcesso, chave.ultimoAcesso);

            //Produto criado
            Assert.IsNotNull(((DtoRetornoObjeto)retorno).objeto);
            DtoProduto produtoCadastrado = (DtoProduto)((DtoRetornoObjeto)retorno).objeto;
            Assert.AreNotEqual(produtoCadastrado.id, produto.id);
            Assert.AreEqual(produtoCadastrado.nome, produto.nome);
            Assert.AreEqual(produtoCadastrado.idTipo, produto.idTipo);
            Assert.AreEqual(produtoCadastrado.codigoDeBarras, "01234567890123456789012345678901234567890123456789");

            //Fabricante
            Assert.AreEqual(produtoCadastrado.idFabricante, produto.fabricante.id);
            Assert.AreEqual(produtoCadastrado.fabricante.id, produto.fabricante.id);
            Assert.AreEqual(produtoCadastrado.fabricante.fabricante, "zas zas123zas zas123zas zas123zas zas123zas zas123");

            chave = ((DtoRetornoObjeto)retorno).chave;
        }
示例#4
0
 public void IniciarTestes()
 {
     js = new JavaScriptSerializer();
     mChave = new Chave();
     chave = mChave.criarChave(idUsuario);
     produto = new DtoProduto();
     cProduto = new ControllerProduto();
     mProduto = new Produto();
 }
示例#5
0
        public void CriarUmProdutoComValoresMinimos()
        {
            produto.id = 1;
            produto.nome = "aaa";
            produto.idTipo = 1;
            produto.idFabricante = 1;
            produto.fabricante = new DtoFabricante();
            produto.fabricante.id = 1;

            string retornoJson = cProduto.criarProduto(js.Serialize(chave), js.Serialize(produto));
            DtoRetorno retorno = new DtoRetorno("");
            try
            {
                retorno = js.Deserialize<DtoRetornoObjeto>(retornoJson);
            }
            catch
            {
                Assert.Fail();
            }

            //Retorno sucesso
            Assert.Equals(retorno.tipoRetorno, "ACK");

            //Chave atualizada
            Assert.IsNotNull(((DtoRetornoObjeto)retorno).chave);
            DtoChave chaveAtualizada = (DtoChave)((DtoRetornoObjeto)retorno).chave;
            Assert.Equals(chaveAtualizada.idUsuario, chave.idUsuario);
            Assert.AreNotEqual(chaveAtualizada.token, chave.token);
            Assert.AreNotEqual(chaveAtualizada.ultimoAcesso, chave.ultimoAcesso);

            //Produto criado
            Assert.IsNotNull(((DtoRetornoObjeto)retorno).objeto);
            DtoProduto produtoCadastrado = (DtoProduto)((DtoRetornoObjeto)retorno).objeto;
            Assert.AreNotEqual(produtoCadastrado.id, produto.id);
            Assert.AreEqual(produtoCadastrado.nome, produto.nome);
            Assert.AreEqual(produtoCadastrado.idTipo, produto.idTipo);

            //Fabricante
            Assert.AreEqual(produtoCadastrado.idFabricante, produto.fabricante.id);
            Assert.AreEqual(produtoCadastrado.fabricante.id, 1);
            Assert.AreEqual(produtoCadastrado.fabricante.fabricante, "");

            chave = ((DtoRetornoObjeto)retorno).chave;
        }
示例#6
0
        public void ChaveDeAcessoComTokenInvalido()
        {
            produto.id = 5;
            produto.nome = "qwe";
            produto.idTipo = 1;
            produto.codigoDeBarras = "";
            produto.idFabricante = 1;
            produto.fabricante = new DtoFabricante();
            produto.fabricante.id = 1;
            produto.fabricante.fabricante = "";

            DtoChave chaveInvalida = new DtoChave();
            chaveInvalida.idUsuario = chave.idUsuario;
            chaveInvalida.token = chave.token + "qwe";
            chaveInvalida.ultimoAcesso = chave.ultimoAcesso;

            string retornoJson = cProduto.criarProduto(js.Serialize(chaveInvalida), js.Serialize(produto));
            DtoRetorno retorno = new DtoRetorno("");
            try
            {
                retorno = js.Deserialize<DtoRetornoObjeto>(retornoJson);
            }
            catch
            {
                Assert.Fail();
            }

            //Retorno falha
            Assert.Equals(retorno.tipoRetorno, "NAK");

            //Dados do Erro
            Assert.Equals(((DtoRetornoErro)retorno).codigoErro, "100");
            Assert.Equals(((DtoRetornoErro)retorno).mensagem, "É nescessário realizar login para utilizar o aplicativo!");

            DtoProduto[] produtosCadastrados = mProduto.pesquisarProduto(produto);
            if (produtosCadastrados != null && produtosCadastrados.Length > 1)
                Assert.Fail();
        }