private void detach_tb_Produtos(tb_Produto entity) { this.SendPropertyChanging(); entity.tb_Fabricante = null; }
partial void Deletetb_Produto(tb_Produto instance);
partial void Updatetb_Produto(tb_Produto instance);
partial void Inserttb_Produto(tb_Produto instance);
private void attach_tb_Produtos(tb_Produto entity) { this.SendPropertyChanging(); entity.tb_Tipo = this; }
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; }