private void btnGerar_Click(object sender, EventArgs e) { try { belNumeroNF objNumeroNF = new belNumeroNF(); List<belNumeroNF> objNumeroNfs = new List<belNumeroNF>(); objNumeroNfs = objNumeroNF.GeraNumeroNF(plNotas, txtNumeroASerEmi.Text, psEmp); //Verifica se a as notas já não foram enviadas if (objNumeroNfs.Count == 0) { throw new Exception("Selecione " + (objNumeroNfs.Count > 1 ? "as " : "a ") + (objNumeroNfs.Count > 1 ? "Notas " : "Nota ") + " Novamente pois já " + (objNumeroNfs.Count > 1 ? "existem " : "existe ") + (objNumeroNfs.Count > 1 ? "Numerações " : "Numeração ") + (objNumeroNfs.Count > 1 ? "Geradas " : "Gerada ") + " ou o número a ser emitido já foi utilizado!!"); } //Verifica se Já não existe no banco a mesma numeração; string sNumNotasInvalidas = objbelRegras.VerificaNumeracaoExistente(objNumeroNfs); if (sNumNotasInvalidas == "") { string sSqlAtualizaNF = string.Empty; //DataGeneric AcessoDados = new DataGeneric(); for (int i = 0; i < objNumeroNfs.Count; i++) { objbelRegras.AlteraDuplicatasNfe(objNumeroNfs, ref sSqlAtualizaNF, i); if (HLP.bel.Static.belStatic.sNomeEmpresa.Equals("LORENZON")) { HLP.bel.NFe.belLorenzon objLorenzon = new HLP.bel.NFe.belLorenzon(); objLorenzon.AlteraDuplicataLorenzon(objNumeroNfs, i); } //Claudinei - o.s. 23929 - 10/12/2009 string sFiltro = string.Empty; sFiltro = objbelRegras.OperacoesValidas(psEmp, objNumeroNfs[i].Nfseq); bool bHe131 = false; ; if (sFiltro.IndexOf("TIPO131") == -1) { sFiltro = objbelRegras.MontaFiltroOperacoesValidas(sFiltro); bHe131 = false; } else { sFiltro = objbelRegras.MontaFiltroOperacoesValidas(sFiltro.Replace("TIPO131", "")); bHe131 = true; } if (bHe131) { sSqlAtualizaNF = "update movitem set DT_DOC = '" + HLP.Util.Util.GetDateServidor().ToString("dd.MM.yyyy") + "' where cd_empresa = '" + psEmp + "' and cd_nfseq = '" + objNumeroNfs[i].Nfseq + "'" + sFiltro; } else { sSqlAtualizaNF = "update movitem set cd_doc = '" + objNumeroNfs[i].Cdnotafis + "', DT_DOC = '" + HLP.Util.Util.GetDateServidor().ToString("dd.MM.yyyy") + "' where cd_empresa = '" + psEmp + "' and cd_nfseq = '" + objNumeroNfs[i].Nfseq + "'" + sFiltro; } FbCommand cmdUpdatemovitem = new FbCommand(sSqlAtualizaNF, cx.get_Conexao()); cx.Open_Conexao(); cmdUpdatemovitem.ExecuteNonQuery(); cx.Close_Conexao(); //Fim - Claudinei - o.s. 23929 - 10/12/2009 belDuplicata objDuplicata = new belDuplicata(); objDuplicata.Empresa = psEmp; objDuplicata.Nrseq = objNumeroNfs[i].Nfseq; objDuplicata.Cdnotafis = objNumeroNfs[i].Cdnotafis; objDuplicata.Dtemi = dtpEmissao.Value; objDuplicata.Conn = cx.get_Conexao(); objDuplicata.BuscaVencto(); } KryptonMessageBox.Show(null, "Numeração das notas geradas com sucesso!", "Gerar Numeros de Notas", MessageBoxButtons.OK, MessageBoxIcon.Information); GeraNumeroNF(); this.Hide(); this.bValida = true; } else { throw new Exception("Selecione " + (objNumeroNfs.Count > 1 ? "as " : "a ") + (objNumeroNfs.Count > 1 ? "Notas " : "Nota ") + " Novamente pois já " + (objNumeroNfs.Count > 1 ? "existem " : "existe ") + (objNumeroNfs.Count > 1 ? "Numerações " : "Numeração ") + (objNumeroNfs.Count > 1 ? "Geradas " : "Gerada ") + " ou o número a ser emitido já foi utilizado!!"); } } catch (Exception ex) { KryptonMessageBox.Show(null, ex.Message, "A V I S O", MessageBoxButtons.OK, MessageBoxIcon.Information); this.bValida = false; this.Close(); } finally { cx.Close_Conexao(); } }
public List<belNumeroNF> GeraNumeroNF(List<string> lsNFSEq, string sProximaNF, string sEmpresa) { belConnection cx = new belConnection(); try { StringBuilder sSql = new StringBuilder(); sSql.Append("select "); sSql.Append("nf.cd_nfseq "); sSql.Append("From nf "); sSql.Append("where "); sSql.Append("((nf.cd_notafis is null) or (nf.cd_notafis = '')) and ("); sSql.Append("nf.cd_empresa ='"); sSql.Append(sEmpresa); sSql.Append("') and ("); sSql.Append("nf.cd_nfseq in('"); int iCont = 0; foreach (var sNfseq in lsNFSEq) { iCont++; sSql.Append(sNfseq); if (lsNFSEq.Count > iCont) { sSql.Append("','"); } } sSql.Append("')) "); sSql.Append("Order by nf.cd_empresa, nf.cd_nfseq "); //Fim - Claudinei - o.s. sem - 11/03/2010 FbCommand cmd = new FbCommand(sSql.ToString(), cx.get_Conexao()); cx.Open_Conexao(); cmd.ExecuteNonQuery(); FbDataReader dr = cmd.ExecuteReader(); Int32 iNumeroNF = Convert.ToInt32(sProximaNF); List<belNumeroNF> objNumeroNFs = new List<belNumeroNF>(); //dr = AcessoDados.ExecuteReader(sSql.ToString(), CommandType.Text); while (dr.Read()) { belNumeroNF objNumeroNF = new belNumeroNF(); objNumeroNF._nfseq = dr["cd_nfseq"].ToString(); objNumeroNF.Cdnotafis = iNumeroNF.ToString().PadLeft(6, '0'); objNumeroNFs.Add(objNumeroNF); iNumeroNF++; } return objNumeroNFs; } catch (Exception) { throw; } finally { cx.Close_Conexao(); } }