コード例 #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);
        }
コード例 #2
0
ファイル: Lista.cs プロジェクト: jonnathanBruno/catalog
        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;
        }
コード例 #3
0
ファイル: Item.cs プロジェクト: jonnathanBruno/catalog
        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;
        }
コード例 #4
0
        public string finalizarCheckin(string dtoChave, string dtoEnderecoEstabelecimento, string dtoItensComprados)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            DtoRetorno retorno;
            DtoChave chave = js.Deserialize<DtoChave>(dtoChave);
            DtoEnderecoEstabelecimento enderecoEstabelecimento = js.Deserialize<DtoEnderecoEstabelecimento>(dtoEnderecoEstabelecimento);
            List<DtoProdutoDaLista> itensComprados = js.Deserialize<List<DtoProdutoDaLista>>(dtoItensComprados);

            Chave mChave = new Chave();

            try
            {
                mChave.validarChave(chave);
                Estabelecimento mEstabelecimento = new Estabelecimento();
                enderecoEstabelecimento = mEstabelecimento.abrirEstabelecimento(enderecoEstabelecimento.id);
                chave = mChave.atualizarChave(chave);
                retorno = new DtoRetornoObjeto(chave);

                Produto mProduto = new Produto();
                Item mItem = new Item();
                foreach (DtoProdutoDaLista produtoDaLista in itensComprados)
                {
                    if (produtoDaLista.item.produto.id == 0)
                        produtoDaLista.item.produto = mProduto.cadastrarProduto(produtoDaLista.item.produto);

                    produtoDaLista.item = mItem.criarItem(produtoDaLista.item.produto.id, produtoDaLista.item.preco, enderecoEstabelecimento.id);
                }
            }
            catch (DtoExcecao ex)
            {
                retorno = ex.ToDto();
            }
            catch (Exception ex)
            {
                retorno = new DtoRetornoErro(ex.Message);
            }

            /*Objeto: DtoRetorno com Ack*/
            return js.Serialize(retorno);
        }
コード例 #5
0
 public void IniciarTestes()
 {
     js = new JavaScriptSerializer();
     mChave = new Chave();
     chave = mChave.criarChave(idUsuario);
     produto = new DtoProduto();
     cProduto = new ControllerProduto();
     mProduto = new Produto();
 }
コード例 #6
0
        public string criarProduto(string dtoChave, string dtoProduto)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            DtoRetorno retorno;
            DtoProduto produto = js.Deserialize<DtoProduto>(dtoProduto);

            if (produto.nome.Length < 3 || produto.idTipo < 1)
            {
                retorno = (new DtoExcecao(DTO.Enum.CriteriosDeCadastroInsuficientes, "Nome do produto e Tipo do Produto")).ToDto();
                return js.Serialize(retorno);
            }

            DtoChave chave = js.Deserialize<DtoChave>(dtoChave);
            Chave mChave = new Chave();

            try
            {
                mChave.validarChave(chave);
                Produto mProduto = new Produto();
                produto = mProduto.cadastrarProduto(produto);
                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);
        }
コード例 #7
0
        public string pesquisarProduto(string dtoChave, string parametros)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            DtoRetorno retorno;
            DtoProduto param = js.Deserialize<DtoProduto>(parametros);

            if (param.nome.Length < 3 &&
                param.tipoCodigoDeBarras.Length < 3 &&
                (param.tipo == null || param.tipo.tipo.Length < 3) &&
                (param.fabricante == null || param.fabricante.fabricante.Length < 3))
            {
                retorno = (new DtoExcecao(DTO.Enum.CriteriosDeBuscaInsuficientes)).ToDto();
                return js.Serialize(retorno);
            }

            DtoChave chave = js.Deserialize<DtoChave>(dtoChave);
            Chave mChave = new Chave();

            try
            {
                mChave.validarChave(chave);
                Produto mProduto = new Produto();
                DtoProduto[] produtos = mProduto.pesquisarProduto(param);
                chave = mChave.atualizarChave(chave);
                retorno = new DtoRetornoObjeto(chave, produtos);
            }
            catch (DtoExcecao ex)
            {
                retorno = ex.ToDto();
            }
            catch (Exception ex)
            {
                retorno = new DtoRetornoErro(ex.Message);
            }

            /*Objeto: Array de DtoProdutos com DtoTipoProduto e DtoFabricante*/
            return js.Serialize(retorno);
        }
コード例 #8
0
        public string listarEstabelecimentosProssuidores(string dtoChave, string dtoProduto)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            DtoRetorno retorno = new DtoRetorno("ACK");
            DtoChave chave = js.Deserialize<DtoChave>(dtoChave);
            DtoProduto produto = js.Deserialize<DtoProduto>(dtoProduto);

            Chave mChave = new Chave();

            try
            {
                mChave.validarChave(chave);
                Produto mProduto = new Produto();
                DtoItem[] itens = mProduto.estabelecimentosPossuidores(produto.id);
                chave = mChave.atualizarChave(chave);
                retorno = new DtoRetornoObjeto(chave, itens);
            }
            catch (DtoExcecao ex)
            {
                retorno = ex.ToDto();
            }
            catch (Exception ex)
            {
                retorno = new DtoRetornoErro(ex.Message);
            }

            /*Objeto: DtoItem com DtoProduto com DtoTipoProduto e DtoFabricante*/
            return js.Serialize(retorno);
        }
コード例 #9
0
ファイル: Item.cs プロジェクト: jonnathanBruno/catalog
        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;
        }