private void btnSalvar_Click(object sender, EventArgs e) { decimal totalIpi = 0; decimal totalICms = 0; decimal totalpis = 0; decimal totalCofins = 0; string dataEmissao = mskDtVenda.Text.Trim(); int numeroNota = Convert.ToInt32(txtNunNota.Text.Trim()); string modeloNota = "55"; string serie = txtSerie.Text; string finalidadeNota = comboBox1.SelectedIndex.ToString(); int cadastro = Convert.ToInt32(txtcodFornecedor.Text.Trim()); string cfop = txtCodCfod.Text.Trim(); string nfeReferenciada = txtNFEreferenciada.Text.Trim(); decimal subtotal = Convert.ToDecimal(txtsomaTudo.Text.Trim()); decimal desconto = Convert.ToDecimal(txtSomaDesconto.Text.Trim()); decimal totaldaNotacomdesconto = Convert.ToDecimal(txtCdesconto.Text.Trim()); string obsNota = txtObs.Text.Trim(); string transportador; if (txtCodTransp.Text == string.Empty) { transportador = "0"; } else { transportador = txtCodTransp.Text.Trim(); } string vencimento = txtVenc.Text; string updateNota = "update nota set not_dtemissao = @not_dtemissao, not_numero = @not_numero, not_modelo = @not_modelo, not_serie = not_serie, not_finalidade = @not_finalidade," + "cadastro = @cadastro, cfo_codigo = @cfo_codigo, not_referenciada = @not_referenciada, not_subtotal = @not_subtotal, not_desconto = @not_desconto, not_nfetotal = @not_nfetotal," + "not_obs = @not_obs, cod_forncedor = @cad_fornecedor, not_vencimento = @not_vencimento, not_cancelada = @not_cancelada, not_inutilizada = @not_inutilizada, not_peso = @not_peso," + "not_volume = @not_volume, not_marca = @not_marca, not_icmsbase = @not_icmsbase, not_icmsvalor = @not_icmsvalor, not_icmspercentual = @not_icmspercentual," + "not_icmsstvalor = @not_icmsstvalor where not_codigo = " + txtControle.Text; SqlConnection con = new SqlConnection(); con.ConnectionString = utils.ConexaoDb(); SqlCommand cmd = new SqlCommand(updateNota, con); cmd.CommandType = CommandType.Text; cmd.Parameters.Add("@not_dtemissao", SqlDbType.NVarChar).Value = dataEmissao; cmd.Parameters.Add("@not_numero", SqlDbType.Int).Value = numeroNota; cmd.Parameters.Add("@not_modelo", SqlDbType.NVarChar).Value = modeloNota; cmd.Parameters.Add("@not_serie", SqlDbType.NVarChar).Value = serie; cmd.Parameters.Add("@not_finalidade", SqlDbType.NVarChar).Value = finalidadeNota; cmd.Parameters.Add("@cadastro", SqlDbType.Int).Value = cadastro; cmd.Parameters.Add("@cfo_codigo", SqlDbType.Int).Value = cfop; cmd.Parameters.Add("@not_referenciada", SqlDbType.NVarChar).Value = nfeReferenciada; cmd.Parameters.Add("@not_subtotal", SqlDbType.Decimal).Value = subtotal; cmd.Parameters.Add("@not_desconto", SqlDbType.Decimal).Value = desconto; cmd.Parameters.Add("@not_nfetotal", SqlDbType.Decimal).Value = totaldaNotacomdesconto; cmd.Parameters.Add("@not_obs", SqlDbType.NVarChar).Value = obsNota; cmd.Parameters.Add("@cad_fornecedor", SqlDbType.Int).Value = transportador; cmd.Parameters.Add("@not_vencimento", SqlDbType.NVarChar).Value = vencimento; cmd.Parameters.Add("@not_cancelada", SqlDbType.Int).Value = 0; cmd.Parameters.Add("@not_inutilizada", SqlDbType.Int).Value = 0; cmd.Parameters.Add("@not_peso", SqlDbType.NVarChar).Value = 1; cmd.Parameters.Add("@not_volume", SqlDbType.NVarChar).Value = 1; cmd.Parameters.Add("@not_marca", SqlDbType.NVarChar).Value = "marca"; cmd.Parameters.Add("@not_icmsbase", SqlDbType.Decimal).Value = 0; cmd.Parameters.Add("@not_icmsvalor", SqlDbType.Decimal).Value = 0; cmd.Parameters.Add("@not_icmspercentual", SqlDbType.Decimal).Value = 0; cmd.Parameters.Add("@not_icmsstvalor", SqlDbType.Decimal).Value = 0; con.Open(); try { int i = cmd.ExecuteNonQuery(); if (i > 0) { u.messageboxSucesso(); } var nfeContexto = new NFeContexto(false, NFeEletronica.Versao.NFeVersao.VERSAO_3_1_0, new GerenciadorDeCertificado()); var nota = new Nota(nfeContexto); nota.ide.cUF = "41"; nota.ide.natOp = txtDescCfop.Text; nota.ide.indPag = "0"; nota.ide.mod = "55"; nota.ide.serie = txtSerie.Text; //string ultimoReg = "Select not_codigo From nota where not_codigo = (Select MAX(not_numero) From nota)"; //SqlConnection con1 = new SqlConnection(); //con.ConnectionString = utils.ConexaoDb(); //SqlCommand cmd2 = new SqlCommand(ultimoReg, con1); //con.Open(); //SqlDataReader dR = cmd2.ExecuteReader(); //if (dR.Read()) //{ // txtNunNota.Text = 1 + dR[0].ToString(); //} //con.Close(); DataContext db = new DataContext(); var pessoa = db.Clientes.Find(Convert.ToInt32(txtcodFornecedor.Text.Trim())); var CidadeEstado = db.Cidades.Find(pessoa.CidadeCodigo); nota.ide.nNF = txtNunNota.Text; nota.ide.dEmi = mskDtVenda.Text; nota.ide.tpNF = "1"; //normal contingencia nota.ide.cMunFG = CidadeEstado.Ibge; nota.ide.tpImp = "1"; nota.ide.tpEmis = "1"; nota.ide.cDV = "0"; nota.ide.idDest = "1"; nota.ide.indFinal = "0"; nota.ide.indPres = "0"; nota.ide.tpAmb = "2"; nota.ide.finNFe = finalidadeNota; nota.ide.procEmi = "3";// soft utilizado // DataContext.fil_codigo = Convert.ToInt32(textBox3.Text.Trim()); var filial = db.Filiais.Find(DataContext.fil_codigo); nota.emit.CNPJ = filial.CpfCnpj; nota.emit.xNome = filial.Razao; nota.emit.xLgr = filial.Endereco; nota.emit.nro = filial.Numero; nota.emit.xBairro = filial.Bairro; var cidade = db.Cidades.Find(filial.CidadeCodigo); nota.emit.cMun = cidade.Ibge; nota.emit.xMun = cidade.Descricao; nota.emit.UF = cidade.UF; nota.emit.CEP = filial.Cep; nota.emit.cPais = "1058"; nota.emit.xPais = "Brasil"; nota.emit.fone = filial.Telefone; nota.emit.IE = filial.IE; nota.emit.CRT = "1"; //financeiro var dup = new NFeEletronica.NotaFiscal.DUP(); dup.nDup = "123"; dup.dVenc = "2014-03-21"; dup.vDup = "23.33"; nota.cobr.dup.Add(dup); //transportadora nota.transp.modFrete = "1"; nota.transp.xNome = "O Mesmo"; nota.transp.IE = "637322284114"; nota.transp.xEnder = "Rua ficticia, 123"; nota.transp.xMun = "São Lucas"; nota.transp.UF = "RO"; //produstos foreach (DataGridViewRow row in dataGridView1.Rows) { foreach (DataGridViewColumn column in dataGridView1.Columns) { var notaProduto = new DET(); notaProduto.cProd = row.Cells["Column1"].Value.ToString(); DataView dv = new DataView(DataContext.CarregaProdutos()); Produto produto = new Produto(); var produtoIncluir = db.Produtos.Find(Convert.ToInt32(notaProduto.cProd)); notaProduto.cEAN = produtoIncluir.EAN; notaProduto.xProd = produtoIncluir.Descricao; notaProduto.NCM = produtoIncluir.NCM; notaProduto.CFOP = Convert.ToString(produtoIncluir.CFOP); notaProduto.uCom = produtoIncluir.UnidadeMedida; notaProduto.qCom = row.Cells["Column2"].Value.ToString(); notaProduto.vUnCom = row.Cells["Column3"].Value.ToString(); notaProduto.vProd = row.Cells["Column4"].Value.ToString(); notaProduto.cEANTrib = produtoIncluir.EAN; notaProduto.uTrib = produtoIncluir.UnidadeMedida; notaProduto.qTrib = notaProduto.qCom; notaProduto.vUnTrib = notaProduto.vUnCom; notaProduto.indTot = "1"; switch (produtoIncluir.CstICMS) { case "00": notaProduto.icms = ICMS.ICMS00; break; case "10": notaProduto.icms = ICMS.ICMS10; break; case "20": notaProduto.icms = ICMS.ICMS20; break; case "30": notaProduto.icms = ICMS.ICMS30; break; case "40": notaProduto.icms = ICMS.ICMS40_50; break; case "41": notaProduto.icms = ICMS.ICMS40_50; break; case "50": notaProduto.icms = ICMS.ICMS40_50; break; case "51": notaProduto.icms = ICMS.ICMS51; break; case "60": notaProduto.icms = ICMS.ICMS60; break; case "70": notaProduto.icms = ICMS.ICMS70; break; case "90": notaProduto.icms = ICMS.ICMS90; break; case "101": notaProduto.icms = ICMS.ICMS101; break; case "102": notaProduto.icms = ICMS.ICMS102_400; break; case "103": notaProduto.icms = ICMS.ICMS102_400; break; case "201": notaProduto.icms = ICMS.ICMS201; break; case "202": notaProduto.icms = ICMS.ICMS202; break; case "500": notaProduto.icms = ICMS.ICMS500; break; case "900": notaProduto.icms = ICMS.ICMS900; break; default: notaProduto.icms = ICMS.ICMS00; break; } notaProduto.icms_orig = Convert.ToString(produtoIncluir.OrigemDoProduto); if (nota.emit.CRT == "1") { notaProduto.icms_CSOSN = produtoIncluir.CstICMS; } else { notaProduto.icms_CST = produtoIncluir.CstICMS; } notaProduto.ipi = IPI.IPI00_49_50_99; notaProduto.ipi_CST = "99"; notaProduto.ipi_vIPI = "0"; notaProduto.pis = PIS.PIS01_02; notaProduto.pis_CST = "01"; notaProduto.pis_vBC = "0"; notaProduto.pis_pPIS = "0"; notaProduto.pis_vPIS = "0"; notaProduto.cofins = COFINS.CST01_02; notaProduto.cofins_CST = "01"; notaProduto.cofins_vBC = "0"; notaProduto.cofins_pCOFINS = "0"; notaProduto.cofins_vCOFINS = "0"; nota.AddDet(notaProduto); } } //fim de um produto if (nota.emit.CRT == "1") { nota.total.vBC = "0.00"; } else { nota.total.vBC = Convert.ToString(totaldaNotacomdesconto); } nota.total.vICMS = "0.00"; nota.total.vICMSDeson = "0.00"; nota.total.vBCST = "0.00"; nota.total.vST = "0.00"; nota.total.vProd = "1.00"; nota.total.vFrete = "0.00"; nota.total.vSeg = "0.00"; nota.total.vDesc = "0.00"; nota.total.vII = "0.00"; nota.total.vIPI = "0.00"; nota.total.vPIS = "0.00"; nota.total.vCOFINS = "0.00"; nota.total.vOutro = "0.00"; nota.total.vNF = "1.00"; nota.total.vTotTrib = "0.00"; nota.SalvarNota(@"C:\temp\teste-nota.xml"); } catch (Exception ex) { u.messageboxErro(ex.ToString()); } finally { con.Close(); } Unovo(); }