Пример #1
0
        public void Atualizar(Produto p)
        {
            try
            {
                AbrirConexao();
                Cmd = new SqlCommand("update Produto set NM_PRODUTO = @v1," +
                                     " CD_CATEGORIA = @v2," +
                                     " DT_CADASTRO = @v3," +
                                     " DT_ATUALIZACAO = @v4," +
                                     " VL_COMPRA = @v5," +
                                     " PC_LUCRO = @v6," +
                                     " VL_VENDA = @v7," +
                                     " CD_UNIDADE = @v8," +
                                     " CD_GPO_TRIB_PRODUTO = @v9," +
                                     " CD_TIPO_PRODUTO=@v11," +
                                     " CD_SIS_ANTERIOR = @v12," +
                                     " CD_FABRICANTE = @v13, " +
                                     " CD_MARCA = @v14," +
                                     " CD_CEST = @v15, " +
                                     " CD_SITUACAO = @v16," +
                                     " IN_PRD_INVENTARIO = @v17," +
                                     " IN_CTR_LOTE = @v18," +
                                     " VL_VOLUME = @v19," +
                                     " VL_PESO = @v20," +
                                     " VL_FATOR_CUBAGEM = @v21, " +
                                     " DS_EMBALAGEM = @v22, " +
                                     " QT_EMBALAGEM = @v23, " +
                                     " CD_PRD_ASSOCIADO = @v24, " +
                                     " CD_BARRAS = @v25," +
                                     " CD_PIS = @v26," +
                                     " CD_COFINS = @v27," +
                                     " CD_NCM = @v28," +
                                     " CD_EX = @v29, " +
                                     " TX_LNK_PRODUTO = @v30, " +
                                     " IM_FOTO_PRINCIPAL = @v31, " +
                                     " IM_FOTO1 = @v32, " +
                                     " IM_FOTO2 = @v33, " +
                                     " IM_FOTO3 = @v34, " +
                                     " IM_FOTO4 = @v35, " +
                                     " IM_FOTO5 = @v36 " +
                                     "Where CD_Produto = @v10", Con);
                Cmd.Parameters.AddWithValue("@v10", p.CodigoProduto);
                Cmd.Parameters.AddWithValue("@v1", p.DescricaoProduto.ToUpper());

                CategoriaDAL r  = new CategoriaDAL();
                Categoria    p1 = new Categoria();
                if (p1 != null)
                {
                    Cmd.Parameters.AddWithValue("@v2", p1.CodigoIndice);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v2", 0);
                }

                //Cmd.Parameters.AddWithValue("@v2", p1.CodigoIndice);

                Cmd.Parameters.AddWithValue("@v3", p.DataCadastro);
                Cmd.Parameters.AddWithValue("@v4", p.DataAtualizacao);
                Cmd.Parameters.AddWithValue("@v5", p.ValorCompra);
                Cmd.Parameters.AddWithValue("@v6", p.PercentualLucro);
                Cmd.Parameters.AddWithValue("@v7", p.ValorVenda);
                Cmd.Parameters.AddWithValue("@v8", p.CodigoUnidade);
                Cmd.Parameters.AddWithValue("@v9", p.CodigoGpoTribProduto);
                Cmd.Parameters.AddWithValue("@v11", p.CodigoTipoProduto);

                if (string.IsNullOrEmpty(p.CodigoSisAnterior))
                {
                    Cmd.Parameters.AddWithValue("@v12", DBNull.Value);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v12", p.CodigoSisAnterior);
                }

                Cmd.Parameters.AddWithValue("@v13", p.CodigoFabricante);
                Cmd.Parameters.AddWithValue("@v14", p.CodigoMarca);
                Cmd.Parameters.AddWithValue("@v15", p.CodigoIndexCEST);
                Cmd.Parameters.AddWithValue("@v16", p.CodigoSituacao);
                Cmd.Parameters.AddWithValue("@v17", p.ProdutoInventario);
                Cmd.Parameters.AddWithValue("@v18", p.ControlaLote);
                Cmd.Parameters.AddWithValue("@v19", p.ValorVolume);
                Cmd.Parameters.AddWithValue("@v20", p.ValorPeso);
                Cmd.Parameters.AddWithValue("@v21", p.ValorFatorCubagem);
                Cmd.Parameters.AddWithValue("@v22", p.DsEmbalagem);        //ds
                Cmd.Parameters.AddWithValue("@v23", p.QtEmbalagem);        //qt
                Cmd.Parameters.AddWithValue("@v24", p.CodigoPrdAssociado); //ass
                Cmd.Parameters.AddWithValue("@v25", p.CodigoBarras);       //br
                Cmd.Parameters.AddWithValue("@v26", p.CodigoPIS);
                Cmd.Parameters.AddWithValue("@v27", p.CodigoCOFINS);
                Cmd.Parameters.AddWithValue("@v28", p.CodigoNCM);
                Cmd.Parameters.AddWithValue("@v29", p.CodigoEX);
                Cmd.Parameters.AddWithValue("@v30", p.LinkProduto);

                if (p.FotoPrincipal != null)
                {
                    Cmd.Parameters.AddWithValue("@v31", p.FotoPrincipal);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v31", System.Data.SqlTypes.SqlBinary.Null);
                }

                if (p.Foto1 != null)
                {
                    Cmd.Parameters.AddWithValue("@v32", p.Foto1);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v32", System.Data.SqlTypes.SqlBinary.Null);
                }

                if (p.Foto2 != null)
                {
                    Cmd.Parameters.AddWithValue("@v33", p.Foto2);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v33", System.Data.SqlTypes.SqlBinary.Null);
                }

                if (p.Foto3 != null)
                {
                    Cmd.Parameters.AddWithValue("@v34", p.Foto3);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v34", System.Data.SqlTypes.SqlBinary.Null);
                }

                if (p.Foto4 != null)
                {
                    Cmd.Parameters.AddWithValue("@v35", p.Foto4);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v35", System.Data.SqlTypes.SqlBinary.Null);
                }

                if (p.Foto5 != null)
                {
                    Cmd.Parameters.AddWithValue("@v36", p.Foto5);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v36", System.Data.SqlTypes.SqlBinary.Null);
                }


                Cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao atualizar Produto: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Пример #2
0
        public void Inserir(Produto p)
        {
            try
            {
                AbrirConexao();
                Cmd = new SqlCommand("insert into PRODUTO (NM_PRODUTO, " +
                                     "CD_CATEGORIA, " +
                                     " DT_CADASTRO," +
                                     " DT_ATUALIZACAO," +
                                     " VL_COMPRA," +
                                     " PC_LUCRO," +
                                     " VL_VENDA," +
                                     " CD_UNIDADE," +
                                     " CD_GPO_TRIB_PRODUTO," +
                                     " CD_TIPO_PRODUTO," +
                                     " CD_SIS_ANTERIOR," +
                                     " CD_FABRICANTE," +
                                     " CD_MARCA," +
                                     " CD_SITUACAO," +
                                     " IN_PRD_INVENTARIO," +
                                     " IN_CTR_LOTE," +
                                     " CD_CEST," +
                                     " VL_VOLUME," +
                                     " VL_PESO," +
                                     " VL_FATOR_CUBAGEM," +
                                     " DS_EMBALAGEM, " +
                                     " QT_EMBALAGEM," +
                                     " CD_BARRAS, " +
                                     " CD_PRD_ASSOCIADO," +
                                     " CD_PIS," +
                                     " CD_COFINS," +
                                     " CD_NCM," +
                                     " CD_EX ," +
                                     " TX_LNK_PRODUTO ," +
                                     " IM_FOTO_PRINCIPAL ," +
                                     " IM_FOTO1 ," +
                                     " IM_FOTO2 ," +
                                     " IM_FOTO3 ," +
                                     " IM_FOTO4 ," +
                                     " IM_FOTO5) values (@v1, @v2, @v3, @v4, @v5, @v6, @v7, @v8, @v9, @v10, @v11, @v12, @v13, @v14, @v15, @v16, @v17, @v18, @v19, @v20, @v21, @v22,'', 0, @v25, @v26, @v27, @v28, @v29, @v30, @v31, @v32, @v33, @v34, @v35); SELECT SCOPE_IDENTITY()", Con);
                Cmd.Parameters.AddWithValue("@v1", p.DescricaoProduto.ToUpper());

                CategoriaDAL r  = new CategoriaDAL();
                Categoria    p1 = new Categoria();

                p1 = r.PesquisarCategoria(p.CodigoCategoria);
                if (p1 != null)
                {
                    Cmd.Parameters.AddWithValue("@v2", p1.CodigoIndice);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v2", 0);
                }

                Cmd.Parameters.AddWithValue("@v3", p.DataCadastro);
                Cmd.Parameters.AddWithValue("@v4", p.DataAtualizacao);
                Cmd.Parameters.AddWithValue("@v5", p.ValorCompra);
                Cmd.Parameters.AddWithValue("@v6", p.PercentualLucro);
                Cmd.Parameters.AddWithValue("@v7", p.ValorVenda);
                Cmd.Parameters.AddWithValue("@v8", p.CodigoUnidade);
                Cmd.Parameters.AddWithValue("@v9", p.CodigoGpoTribProduto);
                Cmd.Parameters.AddWithValue("@v10", p.CodigoTipoProduto);

                if (string.IsNullOrEmpty(p.CodigoSisAnterior))
                {
                    Cmd.Parameters.AddWithValue("@v11", DBNull.Value);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v11", p.CodigoSisAnterior);
                }

                Cmd.Parameters.AddWithValue("@v12", p.CodigoFabricante);
                Cmd.Parameters.AddWithValue("@v13", p.CodigoMarca);
                Cmd.Parameters.AddWithValue("@v14", p.CodigoSituacao);
                Cmd.Parameters.AddWithValue("@v15", p.ProdutoInventario);
                Cmd.Parameters.AddWithValue("@v16", p.ControlaLote);
                Cmd.Parameters.AddWithValue("@v17", p.CodigoIndexCEST);
                Cmd.Parameters.AddWithValue("@v18", p.ValorVolume);
                Cmd.Parameters.AddWithValue("@v19", p.ValorPeso);
                Cmd.Parameters.AddWithValue("@v20", p.ValorFatorCubagem);
                Cmd.Parameters.AddWithValue("@v21", p.DsEmbalagem);
                Cmd.Parameters.AddWithValue("@v22", p.QtEmbalagem);
                Cmd.Parameters.AddWithValue("@v25", p.CodigoPIS);
                Cmd.Parameters.AddWithValue("@v26", p.CodigoCOFINS);
                Cmd.Parameters.AddWithValue("@v27", p.CodigoNCM);
                Cmd.Parameters.AddWithValue("@v28", p.CodigoEX);
                Cmd.Parameters.AddWithValue("@v29", p.LinkProduto);
                if (p.FotoPrincipal != null)
                {
                    Cmd.Parameters.AddWithValue("@v30", p.FotoPrincipal);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v30", System.Data.SqlTypes.SqlBinary.Null);
                }

                if (p.Foto1 != null)
                {
                    Cmd.Parameters.AddWithValue("@v31", p.Foto1);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v31", System.Data.SqlTypes.SqlBinary.Null);
                }

                if (p.Foto2 != null)
                {
                    Cmd.Parameters.AddWithValue("@v32", p.Foto2);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v32", System.Data.SqlTypes.SqlBinary.Null);
                }

                if (p.Foto3 != null)
                {
                    Cmd.Parameters.AddWithValue("@v33", p.Foto3);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v33", System.Data.SqlTypes.SqlBinary.Null);
                }

                if (p.Foto4 != null)
                {
                    Cmd.Parameters.AddWithValue("@v34", p.Foto4);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v34", System.Data.SqlTypes.SqlBinary.Null);
                }

                if (p.Foto5 != null)
                {
                    Cmd.Parameters.AddWithValue("@v35", p.Foto5);
                }
                else
                {
                    Cmd.Parameters.AddWithValue("@v35", System.Data.SqlTypes.SqlBinary.Null);
                }

                p.CodigoProduto = Convert.ToInt64(Cmd.ExecuteScalar());


                if (p.CodigoPrdAssociado == 0)
                {
                    p.CodigoPrdAssociado = p.CodigoProduto;
                }

                if (p.CodigoBarras == "")
                {
                    p.CodigoBarras = p.CodigoProduto.ToString();
                }



                Atualizar(p);
            }
            catch (SqlException ex)
            {
                if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 2601:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    case 2627:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao gravar Produto: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao gravar Produto: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }