public static DataTable CarregarGradeClientes(string Condicoes) { DataTable mDataTable = new DataTable(); DadosClientes objDados = new DadosClientes(); objDados.Consulta(Condicoes); DataColumn mDataColumn; mDataColumn = new DataColumn(); mDataColumn.DataType = Type.GetType("System.String"); mDataColumn.ColumnName = "ID"; mDataTable.Columns.Add(mDataColumn); mDataColumn = new DataColumn(); mDataColumn.DataType = Type.GetType("System.String"); mDataColumn.ColumnName = "NOME"; mDataTable.Columns.Add(mDataColumn); mDataColumn = new DataColumn(); mDataColumn.DataType = Type.GetType("System.String"); mDataColumn.ColumnName = "CPF / CNPJ"; mDataTable.Columns.Add(mDataColumn); mDataColumn = new DataColumn(); mDataColumn.DataType = Type.GetType("System.String"); mDataColumn.ColumnName = "TELEFONE"; mDataTable.Columns.Add(mDataColumn); mDataColumn = new DataColumn(); mDataColumn.DataType = Type.GetType("System.String"); mDataColumn.ColumnName = "CELULAR"; mDataTable.Columns.Add(mDataColumn); mDataColumn = new DataColumn(); mDataColumn.DataType = Type.GetType("System.String"); mDataColumn.ColumnName = "E-MAIL"; mDataTable.Columns.Add(mDataColumn); DataRow linha; foreach (DataRow dr in objDados.dt.Rows) { string CpfCnpj = Funcoes.FormataCpfCnpj(dr["CpfCnpj"].ToString()); linha = mDataTable.NewRow(); linha["ID"] = dr["IdCliente"].ToString(); linha["NOME"] = dr["Nome"].ToString(); linha["CPF / CNPJ"] = CpfCnpj; linha["TELEFONE"] = dr["FoneRes"].ToString(); linha["CELULAR"] = dr["Cel"].ToString(); linha["E-MAIL"] = dr["Email"].ToString(); mDataTable.Rows.Add(linha); } return(mDataTable); }
public void AssinandoXML(XmlDocument XmlNfe) { X509Certificate2Collection lcerts; X509Store lStore = new X509Store(StoreName.My, StoreLocation.LocalMachine); // Abre o Store lStore.Open(OpenFlags.OpenExistingOnly); // Lista os certificados lcerts = lStore.Certificates; bool LocCert = false; string NumSerie = "79B1801522204BB8"; foreach (X509Certificate2 tpcert in lcerts) { if (tpcert.SerialNumber == NumSerie) { cert = tpcert; LocCert = true; } } if (LocCert) { XmlNodeList ListInfNFe = XmlNfe.GetElementsByTagName("infNFe"); foreach (XmlElement infNFe in ListInfNFe) { string id = infNFe.Attributes.GetNamedItem("Id").Value; SignedXml signedXml = new SignedXml(infNFe); signedXml.SigningKey = cert.PrivateKey; // Transformações p/ DigestValue da Nota Reference reference = new Reference("#" + id); reference.AddTransform(new XmlDsigEnvelopedSignatureTransform()); reference.AddTransform(new XmlDsigC14NTransform()); signedXml.AddReference(reference); KeyInfo keyInfo = new KeyInfo(); keyInfo.AddClause(new KeyInfoX509Data(cert)); signedXml.KeyInfo = keyInfo; signedXml.ComputeSignature(); XmlElement xmlSignature = XmlNfe.CreateElement("Signature", "http://www.w3.org/2000/09/xmldsig#"); XmlElement xmlSignedInfo = signedXml.SignedInfo.GetXml(); XmlElement xmlKeyInfo = signedXml.KeyInfo.GetXml(); xmlSignature.AppendChild(XmlNfe.ImportNode(xmlSignedInfo, true)); XmlElement xmlSignatureValue = XmlNfe.CreateElement("SignatureValue", xmlSignature.NamespaceURI); string signBase64 = Convert.ToBase64String(signedXml.Signature.SignatureValue); XmlText text = XmlNfe.CreateTextNode(signBase64); xmlSignatureValue.AppendChild(text); xmlSignature.AppendChild(xmlSignatureValue); xmlSignature.AppendChild(XmlNfe.ImportNode(xmlKeyInfo, true)); // infNFeSupl var Vet = xmlSignedInfo.GetElementsByTagName("DigestValue"); string token; string infNFeSupl = Vet[0].InnerText; // MessageBox.Show(DigestValue); XmlElement noinfNFeSupl = XmlNfe.CreateElement("infNFeSupl", "http://www.portalfiscal.inf.br/nfe"); XmlElement qrCode = XmlNfe.CreateElement("qrCode", "http://www.portalfiscal.inf.br/nfe"); token = "chNFe=51151073715146000197650650000031481128930037"; token += "&nVersao=100"; token += "&tpAmb=1"; // token += "&cDest=99999999000191"; token += "&dhEmi=" + Funcoes.ConvertHexa(MontarXmlNfe.DataAtualXml); token += "&vNF=44.45&vICMS=0.00"; token += "&digVal=" + Funcoes.ConvertHexa(infNFeSupl); token += "&cIdToken=000001"; string TokenSemRach = token; token += "&cHashQRCode=e0be0fbae4020860f5a695b4cd7e2cc9"; // MessageBox.Show(token); string Rach = Funcoes.generateHasg(token); string tokenCompleto = "<![CDATA[" + "http://www.sefaz.mt.gov.br/nfce/consultanfce?" + TokenSemRach + '&' + "cHashQRCode=" + Rach + "]]>"; XmlText noText; noText = XmlNfe.CreateTextNode(tokenCompleto); qrCode.AppendChild(noText); noinfNFeSupl.AppendChild(qrCode); var evento = XmlNfe.GetElementsByTagName("NFe"); //Fixando tag infNFeSupl // evento[0].AppendChild(noinfNFeSupl); //Fixando tag Signature evento[0].AppendChild(xmlSignature); // Create an XML declaration. XmlDeclaration xmldecl; xmldecl = XmlNfe.CreateXmlDeclaration("1.0", null, null); xmldecl.Encoding = "UTF-8"; // Add the new node to the document. XmlElement root = XmlNfe.DocumentElement; XmlNfe.InsertBefore(xmldecl, root); // Salvando XML XmlNfe.Save("C:/NfeAssinado.xml"); XmlEnvio = XmlNfe.DocumentElement; } } else { MessageBox.Show("O Certificado com o Número de Série " + NumSerie + " não foi encontrado."); } lStore.Close(); }
public static string Token(string intNumero) { string chave = "5115107371514600019765065000003148112893003" + Convert.ToString(Funcoes.DigitoModulo11("5115107371514600019765065000003148112893003")); string token; token = "chNFe=" + chave; token += "&nVersao=100"; token += "&tpAmb=2"; token += "&cDest=99999999000191"; string data = Convert.ToString(DateTime.UtcNow); token += "&dhEmi=323031352d30312d32305431373a30303a34392d30323a3030&vNF=1.00&vICMS=0.00&digVal=2f4a703477714e6d6e4e646d31776b64743936655a486b65354f513d&cIdToken=000001&cHashQRCode=ecc4f0e7e612456f2e3521768bd572b6f0eae240"; return(token); }
private void ButConsNfc_Click(object sender, EventArgs e) { WSmt ConsNfe = new WSmt(); string chave = "5115107371514600019765065000003346199999999" + Convert.ToString(Funcoes.DigitoModulo11("5115107371514600019765065000003346199999999")); // MessageBox.Show(chave); ConsNfe.MontarXmlConsSit(chave); ConsNfe.WsConsNfe(); XmlEnv.Text = ConsNfe.XmlEnv(); RetSefaz.Text = ConsNfe.XmlRet(); }