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