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; }
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; }
public void IniciarTestes() { js = new JavaScriptSerializer(); mChave = new Chave(); chave = mChave.criarChave(idUsuario); produto = new DtoProduto(); cProduto = new ControllerProduto(); mProduto = new Produto(); }
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; }
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(); }