public DtoProduto abrirProduto(int idProduto) { if (idProduto < 1) throw new DtoExcecao(DTO.Enum.CampoInvalido, "o produto socilitado"); DtoProduto produto; try { DBCatalogDataContext dataContext = new DBCatalogDataContext(); tb_Produto produtoBanco = dataContext.tb_Produtos.First(p => p.id == idProduto); produto = new DtoProduto(); produto.id = produtoBanco.id; produto.nome = produtoBanco.nome; produto.codigoDeBarras = produtoBanco.codigoDeBarras; produto.tipo = new DtoTipo(); produto.tipo.id = produto.idTipo = Convert.ToInt32(produtoBanco.idTipo); produto.tipo.tipo = produtoBanco.tb_Tipo.tipo; produto.fabricante = new DtoFabricante(); produto.idFabricante = produto.fabricante.id = Convert.ToInt32(produtoBanco.idFabricante); produto.fabricante.fabricante = produtoBanco.tb_Fabricante.fabricante; } catch (Exception) { throw new DtoExcecao(DTO.Enum.ObjetoNaoEncontrado, "produto com id " + idProduto); } return produto; }
public string listarProdutos(string dtoChave, string dtoEnderecoEstabelecimento) { JavaScriptSerializer js = new JavaScriptSerializer(); DtoRetorno retorno; DtoChave chave = js.Deserialize<DtoChave>(dtoChave); DtoEnderecoEstabelecimento enderecoEstabelecimento = js.Deserialize<DtoEnderecoEstabelecimento>(dtoEnderecoEstabelecimento); DtoItem[] produtosDoEstabelecimento; Chave mChave = new Chave(); try { mChave.validarChave(chave); Estabelecimento mEstabelecimento = new Estabelecimento(); chave = mChave.atualizarChave(chave); DtoProduto parametros = new DtoProduto(); parametros.nome = ""; parametros.idTipo = 0; parametros.codigoDeBarras = ""; parametros.fabricante = new DtoFabricante(); parametros.fabricante.fabricante = ""; produtosDoEstabelecimento = mEstabelecimento.procurarProduto(enderecoEstabelecimento, parametros); 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); }
public DtoItem[] procurarProduto(DtoEnderecoEstabelecimento enderecoEstabelecimento, DtoProduto parametros) { List<DtoItem> itensEncontrados = new List<DtoItem>(); DBCatalogDataContext dataContext = new DBCatalogDataContext(); tb_EnderecoEstabelecimento estabelecimentoBanco; try { estabelecimentoBanco = dataContext.tb_EnderecoEstabelecimentos.First(ee => ee.id == enderecoEstabelecimento.id); } catch { throw new DtoExcecao(DTO.Enum.ObjetoNaoEncontrado, "Estabelecimento"); } Item mItem = new Item(); if (parametros.idTipo == 0) { foreach (tb_Item itemBanco in estabelecimentoBanco.tb_Items) itensEncontrados.Add(mItem.abrirItem(Convert.ToInt32(itemBanco.idProduto), Convert.ToInt32(itemBanco.idEstabelecimento))); } else { foreach (tb_Item itemBanco in estabelecimentoBanco.tb_Items) if (itemBanco.tb_Produto.nome.StartsWith(parametros.nome) && itemBanco.tb_Produto.idTipo == parametros.idTipo && itemBanco.tb_Produto.tb_Fabricante.fabricante.StartsWith(parametros.fabricante.fabricante)) { itensEncontrados.Add(mItem.abrirItem(Convert.ToInt32(itemBanco.idProduto), Convert.ToInt32(itemBanco.idEstabelecimento))); } } if (itensEncontrados.Count < 1) throw new DtoExcecao(DTO.Enum.ObjetoNaoEncontrado, "Item"); return itensEncontrados.ToArray(); }
public DtoProduto cadastrarProduto(DtoProduto produto) { produto.nome = produto.nome.Trim(); if (produto.nome == "") throw new DtoExcecao(DTO.Enum.CampoInvalido, "Nome do Produto"); try { produto.tipo = (new TipoProduto()).abrirTipo(produto.idTipo); produto.fabricante = (new Fabricante()).cadastrarFabricante(produto.fabricante); produto.idFabricante = produto.fabricante.id; } catch (DtoExcecao ex) { throw ex; } catch { throw new DtoExcecao(DTO.Enum.CampoInvalido, "Tipo do Produto"); } DBCatalogDataContext dataContext = new DBCatalogDataContext(); tb_Produto produtoBanco; if (produto.codigoDeBarras == "") { produtoBanco = dataContext.tb_Produtos.FirstOrDefault(p => p.nome == produto.nome && p.idTipo == produto.idTipo && p.idFabricante == produto.idFabricante); } else { produtoBanco = dataContext.tb_Produtos.FirstOrDefault(p => p.nome == produto.nome && p.idTipo == produto.idTipo && p.idFabricante == produto.idFabricante && (p.codigoDeBarras == produto.codigoDeBarras || p.codigoDeBarras == "")); } if (produtoBanco != null) { produto.id = produtoBanco.id; if (produto.codigoDeBarras != "" && produtoBanco.codigoDeBarras == "") {//esse produto existe, mas sem codigo de barras produtoBanco.codigoDeBarras = produto.codigoDeBarras; //produtoBanco.tipoCodigo = produto.tipoCodigoDeBarras; dataContext.SubmitChanges(); } } else {//não existe esse produto produtoBanco = new tb_Produto(); produtoBanco.nome = produto.nome; produtoBanco.idTipo = produto.idTipo; produtoBanco.idFabricante = produto.idFabricante; produtoBanco.codigoDeBarras = produto.codigoDeBarras; //produtoBanco.tipoCodigo = produto.tipoCodigoDeBarras; dataContext.tb_Produtos.InsertOnSubmit(produtoBanco); dataContext.SubmitChanges(); produto.id = dataContext.tb_Produtos.FirstOrDefault(p => p.idFabricante == produto.idFabricante && p.idTipo == produto.idTipo && p.nome == produto.nome).id; } return produto; }
public DtoProduto[] pesquisarProduto(DtoProduto parametros) { List<DtoProduto> produtos = new List<DtoProduto>(); if (parametros.fabricante == null) parametros.fabricante = new DtoFabricante(); if (parametros.tipo == null) parametros.tipo = new DtoTipo(); DBCatalogDataContext dataContext = new DBCatalogDataContext(); DtoProduto produto; if (parametros.codigoDeBarras != "") { var produtosBanco = from p in dataContext.tb_Produtos where p.codigoDeBarras == parametros.codigoDeBarras select p; foreach (tb_Produto produtoBanco in produtosBanco) { produto = new DtoProduto(); produto.id = produtoBanco.id; produto.nome = produtoBanco.nome; produto.codigoDeBarras = produtoBanco.codigoDeBarras; produto.tipo = new DtoTipo(); produto.tipo.id = produto.idTipo = Convert.ToInt32(produtoBanco.idTipo); produto.tipo.tipo = produtoBanco.tb_Tipo.tipo; produto.fabricante = new DtoFabricante(); produto.idFabricante = produto.fabricante.id = Convert.ToInt32(produtoBanco.idFabricante); produto.fabricante.fabricante = produtoBanco.tb_Fabricante.fabricante; produtos.Add(produto); } } else { var produtosBanco = from p in dataContext.tb_Produtos where p.nome.StartsWith(parametros.nome) && p.tb_Fabricante.fabricante.StartsWith(parametros.fabricante.fabricante) && p.tb_Tipo.tipo.StartsWith(parametros.tipo.tipo) orderby p.nome select p; foreach (tb_Produto produtoBanco in produtosBanco) { produto = new DtoProduto(); produto.id = produtoBanco.id; produto.nome = produtoBanco.nome; produto.codigoDeBarras = produtoBanco.codigoDeBarras; produto.tipo = new DtoTipo(); produto.tipo.id = produto.idTipo = Convert.ToInt32(produtoBanco.idTipo); produto.tipo.tipo = produtoBanco.tb_Tipo.tipo; produto.fabricante = new DtoFabricante(); produto.idFabricante = produto.fabricante.id = Convert.ToInt32(produtoBanco.idFabricante); produto.fabricante.fabricante = produtoBanco.tb_Fabricante.fabricante; produtos.Add(produto); } } return produtos.ToArray(); }
public void IniciarTestes() { js = new JavaScriptSerializer(); mChave = new Chave(); chave = mChave.criarChave(idUsuario); produto = new DtoProduto(); cProduto = new ControllerProduto(); mProduto = new Produto(); }