Пример #1
0
        public DtoChave cadastrarUsuario(DtoUsuario usuario)
        {
            Chave mChave = new Chave();

            DBCatalogDataContext dataContext = new DBCatalogDataContext();
            var usuarioBanco = dataContext.tb_Usuarios.FirstOrDefault(u => u.email == usuario.email);

            if(usuarioBanco == null) //nenhum email encontrado (cadastrar usuario)
            {
                usuarioBanco = new Linq.tb_Usuario();
                usuarioBanco.email = usuario.email;
                usuarioBanco.senha = usuario.senha;
                usuarioBanco.nome = usuario.nome;
                dataContext.tb_Usuarios.InsertOnSubmit(usuarioBanco);
                dataContext.SubmitChanges();

                //criando chave
                var usuarioRecemCadastrado = dataContext.tb_Usuarios.FirstOrDefault(u => u.email == usuario.email);
                DtoChave chave = mChave.criarChave(usuarioRecemCadastrado.id);
                return chave;
            }
            else
            {
                throw new DtoExcecao(DTO.Enum.CampoInvalido, "Email ja existente");
            }
        }
Пример #2
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");
            }
        }
Пример #3
0
        public DtoProdutoDaLista adicionarProduto(DtoProdutoDaLista produto)
        {
            DBCatalogDataContext dataContext = new DBCatalogDataContext();

            var produtosListaExistentes = from p in dataContext.tb_ProdutoDaListas where p.idProduto.Equals(produto.id) select p;
            if (produtosListaExistentes.Count() > 1)
            {
                produto.quantidade = produto.quantidade + 1;
                dataContext.SubmitChanges();
            }
            else
            {
                tb_ProdutoDaLista produtoLista = new tb_ProdutoDaLista() ;
                produtoLista.idLista = produto.idLista;
                produtoLista.idProduto = produto.idProduto;
                produtoLista.quantidade = produto.quantidade;
                dataContext.tb_ProdutoDaListas.InsertOnSubmit(produtoLista);
                dataContext.SubmitChanges();
                produto.id = dataContext.tb_ProdutoDaListas.FirstOrDefault(p => p.idProduto == produto.idProduto &&
                    p.idLista == produto.idLista).id;
            }
            return produto;
        }
Пример #4
0
 public DtoChave alterarDadosCadastrais(string senha, string novaSenha)
 {
     Chave mChave = new Chave();
     DBCatalogDataContext dataContext = new DBCatalogDataContext();
     var usuarios = dataContext.tb_Usuarios.FirstOrDefault(u => u.senha == senha);
     if (usuarios != null)
     {
         DtoChave chave = mChave.criarChave(usuarios.id);
         usuarios.senha = novaSenha;
         dataContext.SubmitChanges();
         return chave;
     }
     else
     {
         throw new DtoExcecao(DTO.Enum.CampoInvalido, "Senha incorreto!");
     }
 }
Пример #5
0
        public DtoEnderecoEstabelecimento cadastrarEstabelecimento(DtoEnderecoEstabelecimento enderecoEstabelecimento)
        {
            DBCatalogDataContext dataContext = new DBCatalogDataContext();
            var estabelecimentoBanco = new tb_Estabelecimento();
            var ultimoEstabelecimentoSalvo = new tb_Estabelecimento();

            var enderecoEstabelecimentoBanco = dataContext.tb_EnderecoEstabelecimentos.FirstOrDefault(u =>
                u.rua ==  enderecoEstabelecimento.rua &&
                u.numero ==  enderecoEstabelecimento.numero);

            var estabBanco = dataContext.tb_Estabelecimentos.FirstOrDefault(u => u.estabelecimento == enderecoEstabelecimento.estabelecimento.nome);

            if (enderecoEstabelecimentoBanco == null && estabBanco == null)
            {
                enderecoEstabelecimentoBanco = new tb_EnderecoEstabelecimento();
                estabelecimentoBanco.estabelecimento = enderecoEstabelecimento.estabelecimento.nome;
                dataContext.tb_Estabelecimentos.InsertOnSubmit(estabelecimentoBanco);
                dataContext.SubmitChanges();

                ultimoEstabelecimentoSalvo = (from ues in dataContext.tb_Estabelecimentos orderby ues.id descending select ues).First();

                enderecoEstabelecimentoBanco.idEstabelecimento = ultimoEstabelecimentoSalvo.id;
                enderecoEstabelecimentoBanco.rua = enderecoEstabelecimento.rua;
                enderecoEstabelecimentoBanco.cidade = enderecoEstabelecimento.cidade;
                enderecoEstabelecimentoBanco.estado = enderecoEstabelecimento.estado;
                enderecoEstabelecimentoBanco.numero = enderecoEstabelecimento.numero;
                enderecoEstabelecimentoBanco.cep = enderecoEstabelecimento.cep;
                enderecoEstabelecimentoBanco.latitude = enderecoEstabelecimento.latitude;
                enderecoEstabelecimentoBanco.longitude = enderecoEstabelecimento.longitude;

                dataContext.tb_EnderecoEstabelecimentos.InsertOnSubmit(enderecoEstabelecimentoBanco);
                dataContext.SubmitChanges();
            }
            else if (enderecoEstabelecimentoBanco == null && estabBanco != null)
            {
                enderecoEstabelecimentoBanco = new tb_EnderecoEstabelecimento();
                enderecoEstabelecimentoBanco.idEstabelecimento = estabBanco.id;
                enderecoEstabelecimentoBanco.rua = enderecoEstabelecimento.rua;
                enderecoEstabelecimentoBanco.cidade = enderecoEstabelecimento.cidade;
                enderecoEstabelecimentoBanco.estado = enderecoEstabelecimento.estado;
                enderecoEstabelecimentoBanco.numero = enderecoEstabelecimento.numero;
                enderecoEstabelecimentoBanco.cep = enderecoEstabelecimento.cep;
                enderecoEstabelecimentoBanco.latitude = enderecoEstabelecimento.latitude;
                enderecoEstabelecimentoBanco.longitude = enderecoEstabelecimento.longitude;

                dataContext.tb_EnderecoEstabelecimentos.InsertOnSubmit(enderecoEstabelecimentoBanco);
                dataContext.SubmitChanges();
            }
            else
            {
                throw new DtoExcecao(DTO.Enum.CampoInvalido, "Estabelecimento ja existente");
            }

            var estabelecimentoRetorno = new DtoEnderecoEstabelecimento();
            estabelecimentoRetorno.cep = enderecoEstabelecimento.cep;
            estabelecimentoRetorno.cidade = enderecoEstabelecimento.cidade;
            estabelecimentoRetorno.estado = enderecoEstabelecimento.estado;
            estabelecimentoRetorno.idEstabelecimento = ultimoEstabelecimentoSalvo.id;
            estabelecimentoRetorno.latitude = enderecoEstabelecimento.latitude;
            estabelecimentoRetorno.longitude = enderecoEstabelecimento.longitude;
            estabelecimentoRetorno.numero = enderecoEstabelecimento.numero;
            estabelecimentoRetorno.rua = enderecoEstabelecimento.rua;

            return estabelecimentoRetorno;
        }
Пример #6
0
        public DtoProduto cadastrarProduto(DtoProduto produto)
        {
            produto.nome = produto.nome.Trim();
            if (produto.nome == "")
                throw new DtoExcecao(DTO.Enum.CampoInvalido, "Nome do Produto");

            try
            {
                produto.tipo = (new TipoProduto()).abrirTipo(produto.idTipo);
                produto.fabricante = (new Fabricante()).cadastrarFabricante(produto.fabricante);
                produto.idFabricante = produto.fabricante.id;
            }
            catch (DtoExcecao ex)
            {
                throw ex;
            }
            catch
            {
                throw new DtoExcecao(DTO.Enum.CampoInvalido, "Tipo do Produto");
            }

            DBCatalogDataContext dataContext = new DBCatalogDataContext();

            tb_Produto produtoBanco;
            if (produto.codigoDeBarras == "")
            {
                produtoBanco = dataContext.tb_Produtos.FirstOrDefault(p => p.nome == produto.nome &&
                                                                            p.idTipo == produto.idTipo &&
                                                                            p.idFabricante == produto.idFabricante);
            }
            else
            {
                produtoBanco = dataContext.tb_Produtos.FirstOrDefault(p => p.nome == produto.nome &&
                                                                            p.idTipo == produto.idTipo &&
                                                                            p.idFabricante == produto.idFabricante &&
                                                                            (p.codigoDeBarras == produto.codigoDeBarras || p.codigoDeBarras == ""));
            }

            if (produtoBanco != null)
            {
                produto.id = produtoBanco.id;
                if (produto.codigoDeBarras != "" && produtoBanco.codigoDeBarras == "")
                {//esse produto existe, mas sem codigo de barras
                    produtoBanco.codigoDeBarras = produto.codigoDeBarras;
                    //produtoBanco.tipoCodigo = produto.tipoCodigoDeBarras;
                    dataContext.SubmitChanges();
                }

            }
            else
            {//não existe esse produto
                produtoBanco = new tb_Produto();
                produtoBanco.nome = produto.nome;
                produtoBanco.idTipo = produto.idTipo;
                produtoBanco.idFabricante = produto.idFabricante;
                produtoBanco.codigoDeBarras = produto.codigoDeBarras;
                //produtoBanco.tipoCodigo = produto.tipoCodigoDeBarras;
                dataContext.tb_Produtos.InsertOnSubmit(produtoBanco);
                dataContext.SubmitChanges();
                produto.id = dataContext.tb_Produtos.FirstOrDefault(p => p.idFabricante == produto.idFabricante &&
                                                                         p.idTipo == produto.idTipo &&
                                                                         p.nome == produto.nome).id;
            }

            return produto;
        }
Пример #7
0
        //________________ RECUPERAR SENHA ____________________//
        public void recuperarSenha(string email)
        {
            DBCatalogDataContext dataContext = new DBCatalogDataContext();
            var usuarioBanco = dataContext.tb_Usuarios.FirstOrDefault(u => u.email == email);

            if(usuarioBanco != null)
            {
                Random rnd = new Random();
                int senhaAlternativa = rnd.Next(999999);
                DateTime dataAtual = DateTime.Today;

                //enviar email
                SmtpClient cliente = new SmtpClient();
                cliente.Host = "smtp.gmail.com";
                cliente.EnableSsl = true;
                cliente.Credentials = new NetworkCredential("*****@*****.**", "comprasdigitais"); //email e sennha

                cliente.Send("*****@*****.**", email,
                "Recuperar senha", "Sua senha alternativa é:" + senhaAlternativa.ToString());

                //banco
                var usuarioSenhaAlternativaBanco = from sa in dataContext.tb_SenhaAlternativas where sa.tb_Usuario.email == email select sa;

                foreach (var sa in usuarioSenhaAlternativaBanco)
                {
                    sa.senha = senhaAlternativa.ToString();
                    sa.idUsuario = usuarioBanco.id;
                    sa.dataDeCriacao = dataAtual;
                }

                if (usuarioSenhaAlternativaBanco.Count() == 0)
                {
                    var senhaAlternativaBanco = new Linq.tb_SenhaAlternativa();
                    senhaAlternativaBanco.senha = senhaAlternativa.ToString();
                    senhaAlternativaBanco.idUsuario = usuarioBanco.id;
                    senhaAlternativaBanco.dataDeCriacao = dataAtual;

                    dataContext.tb_SenhaAlternativas.InsertOnSubmit(senhaAlternativaBanco);
                }

                dataContext.SubmitChanges();
            }
            else
            {
                throw new DtoExcecao(DTO.Enum.ObjetoNaoEncontrado, email);
            }
        }
Пример #8
0
        public DtoLista criarLista(DtoLista lista)
        {
            lista.titulo = lista.titulo.Trim();
            if (lista.titulo == "")
                throw new DtoExcecao(DTO.Enum.CampoInvalido, "Titulo inválido");

            DBCatalogDataContext dataContext = new DBCatalogDataContext();

            var ListasSimilaresBanco = from l in dataContext.tb_Listas where l.titulo.StartsWith(lista.titulo) select l;

            if (ListasSimilaresBanco.Count() >= 1)
                lista.titulo = lista.titulo + " " + DateTime.Now.ToString();

            tb_Lista listaBanco = new tb_Lista();
            listaBanco.titulo = lista.titulo;
            listaBanco.idUsuario = lista.idUsuario;
            dataContext.tb_Listas.InsertOnSubmit(listaBanco);
            dataContext.SubmitChanges();

            lista.id = dataContext.tb_Listas.First(l => l.idUsuario == lista.idUsuario && l.titulo == lista.titulo).id;

            return lista;
        }
Пример #9
0
 public void removerProduto(int idProduto)
 {
     DBCatalogDataContext dataContext = new DBCatalogDataContext();
     tb_ProdutoDaLista produtoLista;
     try
     {
         produtoLista = (dataContext.tb_ProdutoDaListas.First(p => p.idProduto == idProduto));
     }
     catch { throw new DtoExcecao(DTO.Enum.ObjetoNaoEncontrado, "produto da lista"); }
     dataContext.tb_ProdutoDaListas.DeleteOnSubmit(produtoLista);
     dataContext.SubmitChanges();
 }
Пример #10
0
        public void excluirLista(int idLista)
        {
            DBCatalogDataContext dataContext = new DBCatalogDataContext();
            tb_Lista listaBanco;
            try
            {
                listaBanco = dataContext.tb_Listas.First(l => l.id == idLista);
            }
            catch { throw new DtoExcecao(DTO.Enum.ObjetoNaoEncontrado, "lista"); }

            foreach(tb_ProdutoDaLista produto in listaBanco.tb_ProdutoDaListas)
            {
                dataContext.tb_ProdutoDaListas.DeleteOnSubmit(produto);
            }

            dataContext.tb_Listas.DeleteOnSubmit(listaBanco);
            dataContext.SubmitChanges();
        }
Пример #11
0
 public void editarLista(int idLista, string novoNome)
 {
     DBCatalogDataContext dataContext = new DBCatalogDataContext();
     tb_Lista listaBanco;
     try
     {
         listaBanco = dataContext.tb_Listas.First(l => l.id == idLista);
     }
     catch
     {
         throw new DtoExcecao(DTO.Enum.ObjetoNaoEncontrado);
     }
     listaBanco.titulo = novoNome;
     dataContext.SubmitChanges();
 }
Пример #12
0
        public DtoItem criarItem(int idProduto, double preco, int idEnderecoEstabelecimento)
        {
            if (idProduto < 1)
                throw new DtoExcecao(DTO.Enum.ObjetoNaoEncontrado, "o produto solicitado");
            if (idEnderecoEstabelecimento < 1)
                throw new DtoExcecao(DTO.Enum.ObjetoNaoEncontrado, "o estabelecimento solicitado");
            if (preco < 1)
                throw new DtoExcecao(DTO.Enum.CampoInvalido, "Preço do Produto");

            DBCatalogDataContext dataContext = new DBCatalogDataContext();

            tb_Produto produtoBanco;
            try
            { produtoBanco = dataContext.tb_Produtos.First(p => p.id == idProduto); }
            catch
            { throw new DtoExcecao(DTO.Enum.ObjetoNaoEncontrado, "o produto solicitado"); }

            tb_EnderecoEstabelecimento enderecoEstabelecimentoBanco;
            try
            { enderecoEstabelecimentoBanco = dataContext.tb_EnderecoEstabelecimentos.First(ee => ee.id == idEnderecoEstabelecimento); }
            catch
            { throw new DtoExcecao(DTO.Enum.ObjetoNaoEncontrado, "o estabelecimento solicitado"); }

            DateTime dataAtual = DateTime.Now;
            tb_Item itemBanco;
            try
            {
                itemBanco = dataContext.tb_Items.First(i => i.idProduto == idProduto && i.idEstabelecimento == idEnderecoEstabelecimento && i.preco == preco && i.compraRecente == dataAtual);
                itemBanco.qualificacao++;
            }
            catch
            {
                itemBanco = new tb_Item();
                itemBanco.idEstabelecimento = idEnderecoEstabelecimento;
                itemBanco.idProduto = idProduto;
                itemBanco.preco = preco;
                itemBanco.qualificacao = 1;
                dataContext.tb_Items.InsertOnSubmit(itemBanco);
            }
            itemBanco.compraRecente = dataAtual;
            dataContext.SubmitChanges();

            DtoItem item = new DtoItem();
            item.id = (dataContext.tb_Items.First(i => i.idProduto == idProduto && i.idEstabelecimento == idEnderecoEstabelecimento && i.preco == preco && i.compraRecente == dataAtual)).id;
            item.idProduto = idProduto;
            item.idEstabelecimento = idEnderecoEstabelecimento;
            item.preco = preco;
            item.qualificacao = Convert.ToInt32(itemBanco.qualificacao);
            item.data = dataAtual;
            Produto mProduto = new Produto();
            item.produto = mProduto.abrirProduto(idProduto);
            Estabelecimento mEstabelecimento = new Estabelecimento();
            item.estabelecimento = mEstabelecimento.abrirEstabelecimento(idEnderecoEstabelecimento);

            return item;
        }