/// <summary> /// Insere um novo produto na base de dados /// </summary> /// <param name="produto"></param> /// <returns></returns> public Int64 Inserir(Produto produto) { try { if (produto.Nome.Trim().Equals("")) { throw new NegocioException("O nome do produto não pode ficar em branco."); } else if (produto.QuantidadeEmbalagem <= 0) { throw new NegocioException("A quantidade de produtos na embalagem deve ser maior que zero."); } else if (!produto.CodigoBarra.Trim().Equals("") && !produto.CodigoBarra.Trim().Equals("SEM GTIN")) { if (ObterPorCodigoBarraExato(produto.CodigoBarra).Count() > 0) { throw new NegocioException("Já existe um produto cadastrado com esse código de barra. Favor verificar a possibilidade de ser o mesmo produto."); } } ProdutoE _produtoE = new ProdutoE(); Atribuir(produto, _produtoE); var repProduto = new RepositorioGenerico <ProdutoE>(); repProduto.Inserir(_produtoE); repProduto.SaveChanges(); ProdutoLoja produtoLoja = new ProdutoLoja(); produtoLoja.CodProduto = _produtoE.codProduto; produtoLoja.CodLoja = Global.LOJA_PADRAO; produtoLoja.QtdEstoque = 0; produtoLoja.QtdEstoqueAux = 0; GerenciadorProdutoLoja.GetInstance(null).Inserir(produtoLoja); return(_produtoE.codProduto); } catch (Exception e) { throw new DadosException("Produto", e.Message, e); } }
/// <summary> /// Atribui entidade à entidade persistente /// </summary> /// <param name="produto"></param> /// <param name="_produtoE"></param> private static void Atribuir(Produto produto, ProdutoE _produtoE) { _produtoE.codCST = produto.CodCST; _produtoE.codFabricante = produto.CodFabricante; _produtoE.codGrupo = produto.CodGrupo; _produtoE.codigoBarra = produto.CodigoBarra == null ? "" : produto.CodigoBarra; _produtoE.codSituacaoProduto = Convert.ToSByte(produto.CodSituacaoProduto); _produtoE.codSubgrupo = produto.CodSubgrupo; _produtoE.dataUltimoPedido = produto.DataUltimoPedido; _produtoE.dataUltimaMudancaPreco = produto.DataUltimaMudancaPreco; _produtoE.desconto = produto.Desconto; _produtoE.exibeNaListagem = produto.ExibeNaListagem; _produtoE.frete = produto.Frete; _produtoE.icms = produto.Icms; _produtoE.icms_substituto = produto.IcmsSubstituto; _produtoE.ipi = produto.Ipi; _produtoE.lucroPrecoVendaAtacado = produto.LucroPrecoVendaAtacado; _produtoE.lucroPrecoVendaVarejo = produto.LucroPrecoVendaVarejo; _produtoE.lucroPrecoRevenda = produto.LucroPrecoRevenda; _produtoE.ncmsh = produto.Ncmsh == null ? "" : produto.Ncmsh; _produtoE.nome = produto.Nome; _produtoE.nomeProdutoFabricante = produto.NomeProdutoFabricante; _produtoE.precoVendaAtacado = produto.PrecoVendaAtacado; _produtoE.precoVendaVarejo = produto.PrecoVendaVarejo; _produtoE.precoRevenda = produto.PrecoRevenda; _produtoE.qtdProdutoAtacado = produto.QtdProdutoAtacado; _produtoE.quantidadeEmbalagem = produto.QuantidadeEmbalagem; _produtoE.referenciaFabricante = produto.ReferenciaFabricante; _produtoE.simples = produto.Simples; _produtoE.temVencimento = produto.TemVencimento; _produtoE.ultimaDataAtualizacao = produto.UltimaDataAtualizacao; _produtoE.ultimoPrecoCompra = produto.UltimoPrecoCompra; _produtoE.unidade = produto.Unidade; _produtoE.unidadeCompra = produto.UnidadeCompra; _produtoE.emPromocao = produto.EmPromocao; }