示例#1
0
        public int InsereNFnoBD(NotaFiscal nf)
        {
            ConexaoBD conexao = new ConexaoBD();

            if (conexao.ConectarBD())
            {
                SqlCommand cmd = new SqlCommand("dbo.P_NOTA_FISCAL", conexao.cnn);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.Add(new SqlParameter("@pId", SqlDbType.Int, 0, "pId"));
                cmd.Parameters.Add(new SqlParameter("@pNumeroNotaFiscal", SqlDbType.Int, 0, "pNumeroNotaFiscal"));
                cmd.Parameters.Add(new SqlParameter("@pSerie", SqlDbType.Int, 0, "pSerie"));
                cmd.Parameters.Add(new SqlParameter("@pNomeCliente", SqlDbType.NChar, 50, "pNomeCliente"));
                cmd.Parameters.Add(new SqlParameter("@pEstadoDestino", SqlDbType.NChar, 50, "pEstadoDestino"));
                cmd.Parameters.Add(new SqlParameter("@pEstadoOrigem", SqlDbType.NChar, 50, "pEstadoOrigem"));

                cmd.Parameters["@pId"].Value = 0;
                cmd.Parameters["@pNumeroNotaFiscal"].Value = nf.NumeroNotaFiscal;
                cmd.Parameters["@pSerie"].Value            = nf.Serie;
                cmd.Parameters["@pNomeCliente"].Value      = nf.ClienteNF.nomeCliente;
                cmd.Parameters["@pEstadoDestino"].Value    = nf.EstadoDestino.siglaEstado;
                cmd.Parameters["@pEstadoOrigem"].Value     = nf.EstadoOrigem.siglaEstado;

                cmd.ExecuteNonQuery();

                foreach (NotaFiscalItem itemNF in nf.ItensDaNotaFiscal)
                {
                    InsereItemNF(conexao, itemNF);
                }

                conexao.DesconectarBD();
                return(1);  // A idéia seria retornar o valor de ID de Output da procedure, mas tentei de várias maneiras e sempre retornava "0"
            }
            else
            {
                return(-1);
            }
        }
示例#2
0
        private void InsereItemNF(ConexaoBD conexao, NotaFiscalItem itemNF)
        {
            SqlCommand cmdItem = new SqlCommand("dbo.P_NOTA_FISCAL_ITEM", conexao.cnn);

            cmdItem.CommandType = CommandType.StoredProcedure;

            cmdItem.Parameters.Add(new SqlParameter("@pId", SqlDbType.Int));
            cmdItem.Parameters.Add(new SqlParameter("@pIdNotaFiscal", SqlDbType.Int));
            cmdItem.Parameters.Add(new SqlParameter("@pCfop", SqlDbType.NChar, 5));
            cmdItem.Parameters.Add(new SqlParameter("@pTipoIcms", SqlDbType.NChar, 20));
            cmdItem.Parameters.Add(new SqlParameter("@pBaseIcms", SqlDbType.Decimal));
            cmdItem.Parameters.Add(new SqlParameter("@pAliquotaIcms", SqlDbType.Decimal));
            cmdItem.Parameters.Add(new SqlParameter("@pValorIcms", SqlDbType.Decimal));
            cmdItem.Parameters.Add(new SqlParameter("@pNomeProduto", SqlDbType.NChar, 50));
            cmdItem.Parameters.Add(new SqlParameter("@pCodigoProduto", SqlDbType.NChar, 20));
            cmdItem.Parameters.Add(new SqlParameter("@pBaseIpi", SqlDbType.Decimal));
            cmdItem.Parameters.Add(new SqlParameter("@pAliquotaIpi", SqlDbType.Decimal));
            cmdItem.Parameters.Add(new SqlParameter("@pValorIpi", SqlDbType.Decimal));
            cmdItem.Parameters.Add(new SqlParameter("@pDesconto", SqlDbType.Decimal));

            cmdItem.Parameters["@pId"].Value            = 0;
            cmdItem.Parameters["@pIdNotaFiscal"].Value  = itemNF.IdNotaFiscal;
            cmdItem.Parameters["@pCfop"].Value          = itemNF.Cfop;
            cmdItem.Parameters["@pTipoIcms"].Value      = itemNF.TipoIcms;
            cmdItem.Parameters["@pBaseIcms"].Value      = itemNF.BaseIcms;
            cmdItem.Parameters["@pAliquotaIcms"].Value  = itemNF.AliquotaIcms;
            cmdItem.Parameters["@pValorIcms"].Value     = itemNF.ValorIcms;
            cmdItem.Parameters["@pNomeProduto"].Value   = itemNF.NomeProduto;
            cmdItem.Parameters["@pCodigoProduto"].Value = itemNF.CodigoProduto;
            cmdItem.Parameters["@pBaseIpi"].Value       = itemNF.BaseIpi;
            cmdItem.Parameters["@pAliquotaIpi"].Value   = itemNF.AliquotaIpi;
            cmdItem.Parameters["@pValorIpi"].Value      = itemNF.ValorIPI;
            cmdItem.Parameters["@pDesconto"].Value      = itemNF.Desconto;

            cmdItem.ExecuteNonQuery();
        }