Exemplo n.º 1
0
        public string abrirProduto(string dtoChave, string dtoProduto)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            DtoRetorno retorno = new DtoRetorno("ACK");
            DtoChave chave = js.Deserialize<DtoChave>(dtoChave);
            Chave mChave = new Chave();

            try
            {
                mChave.validarChave(chave);
                DtoProduto produto = js.Deserialize<DtoProduto>(dtoProduto);
                Produto mProduto = new Produto();
                produto = mProduto.abrirProduto(produto.id);
                chave = mChave.atualizarChave(chave);
                retorno = new DtoRetornoObjeto(chave, produto);
            }
            catch (DtoExcecao ex)
            {
                retorno = ex.ToDto();
            }
            catch (Exception ex)
            {
                retorno = new DtoRetornoErro(ex.Message);
            }

            /*Objeto: DtoProduto com DtoTipoProduto e DtoFabricante*/
            return js.Serialize(retorno);
        }
Exemplo n.º 2
0
        public DtoLista abrirLista(int idLista)
        {
            if (idLista < 1)
                throw new DtoExcecao(DTO.Enum.ObjetoNaoEncontrado, "lista solicitada");

            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 solicitada");
            }

            DtoLista lista = new DtoLista();
            lista.id = listaBanco.id;
            lista.titulo = listaBanco.titulo;
            lista.idUsuario = Convert.ToInt32(listaBanco.idUsuario);

            if (listaBanco.tb_ProdutoDaListas.Count > 0)
            {
                lista.produtosDaLista = new DtoProdutoDaLista[listaBanco.tb_ProdutoDaListas.Count];
                int i = 0;
                DtoProdutoDaLista produtoDaLista;
                Produto mProduto = new Produto();
                foreach (tb_ProdutoDaLista produtoDaListaBanco in listaBanco.tb_ProdutoDaListas)
                {
                    produtoDaLista = new DtoProdutoDaLista();
                    produtoDaLista.id = Convert.ToInt32(produtoDaListaBanco.id);
                    produtoDaLista.idLista = Convert.ToInt32(produtoDaListaBanco.idLista);
                    produtoDaLista.idProduto = Convert.ToInt32(produtoDaListaBanco.idProduto);
                    produtoDaLista.produto = mProduto.abrirProduto(produtoDaLista.idProduto);
                    produtoDaLista.quantidade = Convert.ToInt32(produtoDaListaBanco.quantidade);
                    lista.produtosDaLista[i++] = produtoDaLista;
                }
            }

            return lista;
        }
Exemplo n.º 3
0
        public DtoItem abrirItem(int idProduto, 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");

            DBCatalogDataContext dataContext = new DBCatalogDataContext();

            Produto mProduto = new Produto();
            DtoItem item = new DtoItem();
            item.idProduto = idProduto;
            item.idEstabelecimento = idEnderecoEstabelecimento;
            Estabelecimento mEstabelecimento = new Estabelecimento();
            item.estabelecimento = mEstabelecimento.abrirEstabelecimento(idEnderecoEstabelecimento);
            item.produto = mProduto.abrirProduto(idProduto);
            mProduto = null;

            var itensBanco = from i in dataContext.tb_Items
                             where i.idProduto == idProduto
                                && i.idEstabelecimento == idEnderecoEstabelecimento
                             orderby i.compraRecente descending, i.qualificacao descending
                             select i;

            tb_Item itemBanco;
            if (itensBanco.Count() < 1)
            {
                item.id = 0;
                return item;
            }
            else
            {
                itemBanco = itensBanco.First();
            }
            item.id = itemBanco.id;
            item.preco = Convert.ToDouble(itemBanco.preco);
            item.qualificacao = Convert.ToInt32(itemBanco.qualificacao);
            item.data = Convert.ToDateTime(itemBanco.compraRecente);

            return item;
        }
Exemplo n.º 4
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;
        }