public string criarEstabelecimento(string dtoChave, string dtoEnderecoEstabelecimento)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            DtoRetorno retorno;
            DtoChave chave = js.Deserialize<DtoChave>(dtoChave);
            DtoEnderecoEstabelecimento enderecoEstabelecimento = js.Deserialize<DtoEnderecoEstabelecimento>(dtoEnderecoEstabelecimento);
            DtoEnderecoEstabelecimento estabelecimento;

            Chave mChave = new Chave();

            try
            {
                mChave.validarChave(chave);
                Estabelecimento mEstabelecimento = new Estabelecimento();
                estabelecimento = mEstabelecimento.cadastrarEstabelecimento(enderecoEstabelecimento);
                chave = mChave.atualizarChave(chave);
                retorno = new DtoRetornoObjeto(chave, estabelecimento);
            }
            catch (DtoExcecao ex)
            {
                retorno = ex.ToDto();
            }
            catch (Exception ex)
            {
                retorno = new DtoRetornoErro(ex.Message);
            }

            /*Objeto: DtoEnderecoEstabelecimento com DtoEstabelecimento*/
            return js.Serialize(retorno);
        }
        public string abrirEstabelecimento(string dtoChave, string dtoEnderecoEstabelecimento)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            DtoRetorno retorno;
            DtoChave chave = js.Deserialize<DtoChave>(dtoChave);
            DtoEnderecoEstabelecimento enderecoEstabelecimento = js.Deserialize<DtoEnderecoEstabelecimento>(dtoEnderecoEstabelecimento);
            DtoEnderecoEstabelecimento estabelecimento;

            Chave mChave = new Chave();

            try
            {
                mChave.validarChave(chave);
                Estabelecimento mEstabelecimento = new Estabelecimento();
                estabelecimento = mEstabelecimento.abrirEstabelecimento(enderecoEstabelecimento.id);
                //estabelecimento.itens = mEstabelecimento.procurarProduto(estabelecimento, new DtoProduto());
                chave = mChave.atualizarChave(chave);
                retorno = new DtoRetornoObjeto(chave, estabelecimento);
            }
            catch (DtoExcecao ex)
            {
                retorno = ex.ToDto();
            }
            catch (Exception ex)
            {
                retorno = new DtoRetornoErro(ex.Message);
            }

            /*Objeto: DtoEnderecoEstabelecimento com DtoEstabelecimento e Array de DtoItem com DtoProduto*/
            return js.Serialize(retorno);
        }
Пример #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;
        }
        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);
        }
        public string pesquisarProdutos(string dtoChave, string dtoEnderecoEstabelecimento, string parametros)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            DtoRetorno retorno;
            DtoChave chave = js.Deserialize<DtoChave>(dtoChave);
            DtoEnderecoEstabelecimento enderecoEstabelecimento = js.Deserialize<DtoEnderecoEstabelecimento>(dtoEnderecoEstabelecimento);
            DtoProduto parametrosProduto = js.Deserialize<DtoProduto>(parametros);
            DtoItem[] produtosDoEstabelecimento;

            Chave mChave = new Chave();

            try
            {
                mChave.validarChave(chave);
                Estabelecimento mEstabelecimento = new Estabelecimento();
                chave = mChave.atualizarChave(chave);
                produtosDoEstabelecimento = mEstabelecimento.procurarProduto(enderecoEstabelecimento, parametrosProduto);
                retorno = new DtoRetornoObjeto(chave, produtosDoEstabelecimento);
            }
            catch (DtoExcecao ex)
            {
                retorno = ex.ToDto();
            }
            catch (Exception ex)
            {
                retorno = new DtoRetornoErro(ex.Message);
            }

            /*Objeto: Array de DtoItem com DtoProduto*/
            return js.Serialize(retorno);
        }
Пример #6
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;
        }