Exemplo n.º 1
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.º 2
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;
        }