internal void SaveDataToFile() { IBaseDao dao; var saveFileDialog = new SaveFileDialog { Filter = "XML|*.xml|CSV|*.csv", Title = "Save numeric data" }; saveFileDialog.ShowDialog(); if (saveFileDialog.FileName != "") { switch (saveFileDialog.FilterIndex) { case 1: dao = new XmlDao(); dao.SerializeToFile(saveFileDialog.FileName, _dates); break; case 2: dao = new CsvDao(); dao.SerializeToFile(saveFileDialog.FileName, _dataTable); break; } } }
/// <summary> /// 执行检出操作 /// </summary> /// <param name="repositoryPath">svn服务器路径</param> /// <param name="workDirectory">工程本地工作路径</param> /// <param name="svnPath">本地svn路径</param> /// <param name="checkResult">检出操作的结果</param> /// <returns>返回检出操作的日志</returns> public string CheckOut(string repositoryPath, string workDirectory, out string checkResult, string xmlConfigPath) { string err; string time; XmlDao xmlDao = new XmlDao(); XmlNodeList xmlNodeList = xmlDao.XmlQuery("config/preferences/SvnPath", xmlConfigPath); string svnPath = xmlNodeList[0].InnerText; using (SvnClient client = new SvnClient()) { Tools tools = new Tools(); string checkOutLog = ""; try { client.CheckOut(new Uri(repositoryPath), workDirectory); string args = "checkout " + repositoryPath + " " + workDirectory; checkOutLog = tools.BuildProject(svnPath, args, null, out err, out time); checkResult = "successful"; return(checkOutLog); } catch (Exception ex) { checkResult = " failed"; checkOutLog = ex.Message; return(checkOutLog); } } }
/// <summary> /// 执行保存已经修改的ConfigInfo /// </summary> /// <param name="configInfo">传入configInfo实例对象</param> /// <param name="xmlConfigPath">修改的xml文件</param> /// <returns></returns> public string SaveConfig(ConfigInfo configInfo, string xmlConfigPath) { string modifyPath = "preferences"; string result = ""; var value = new Dictionary <string, string>(); value.Add("SvnPath", configInfo.Svnpath); value.Add("UpdateInterval", configInfo.Updateinterval); value.Add("StandarOutput", configInfo.StandarOutput); value.Add("ServiceSwitch", configInfo.ServiceSwitch); value.Add("ReportFrom", configInfo.ReportFrom); value.Add("Password", configInfo.Password); value.Add("MailHost", configInfo.SmtpServer); value.Add("ReportTo", configInfo.ReportTo); try { XmlDao xmlDao = new XmlDao(); XElement xElement = xmlDao.SelectOneXElement(null, xmlConfigPath, modifyPath); result = xmlDao.ModifyXNode(value, xElement, xmlConfigPath); return(result); } catch (Exception exception) { MessageBox.Show(exception.Message); result = "failed"; return(result); } }
internal void LoadCategoriesFromFile() { XmlDao dao = new XmlDao(); _categories = dao.DeserializeToObject <List <CategoryDto> >("categories.xml"); if (_categories != null) { FillDataTable(); } else { _categories = new List <CategoryDto>(); } }
internal void LoadDataFromFile() { IBaseDao dao; _dataTable = new WorkoutDataTable(); OpenFileDialog openFileDialog = new OpenFileDialog { Filter = "XML|*.xml|CSV|*.csv", Title = "Select data file" }; if (openFileDialog.ShowDialog() == DialogResult.OK) { switch (openFileDialog.FilterIndex) { case 1: dao = new XmlDao(); _dates = dao.DeserializeToObject <List <DateDto> >(openFileDialog.FileName); EraseDataTable(); if (IsDataCorrect()) { FillDataTable(); } break; case 2: dao = new CsvDao(); _dataTable = dao.DeserializeToObject <WorkoutDataTable>(openFileDialog.FileName); _bindingSource = new BindingSource(); _dates = new List <DateDto>(); UpdateDatesFromDataTable(); if (_dates.Count != 0) { _parent.dataGridView.DataSource = _bindingSource.DataSource = _dataTable; _dataGridView.RowHeadersVisible = true; _dataGridView.RowHeadersWidth = 100; } else { _dates = new List <DateDto>(); } break; } } }
/// <summary> /// 查询配置信息 /// </summary> /// <param name="dataPath">节点路径</param> /// <param name="xmlConfigPath">查询的xml文件路径</param> /// <returns></returns> public ConfigInfo ConfigQuery(string dataPath, string xmlConfigPath) { ConfigInfo configInfo = new ConfigInfo(); XmlDao xmlDao = new XmlDao(); try { XmlNodeList xmlNodeList = xmlDao.XmlQuery(dataPath, xmlConfigPath); configInfo.Svnpath = xmlNodeList[0].SelectSingleNode("SvnPath").InnerText; configInfo.Updateinterval = xmlNodeList[0].SelectSingleNode("UpdateInterval").InnerText; configInfo.StandarOutput = xmlNodeList[0].SelectSingleNode("StandarOutput").InnerText; configInfo.ServiceSwitch = xmlNodeList[0].SelectSingleNode("ServiceSwitch").InnerText; return(configInfo); } catch (Exception) { return(configInfo); } }
/// <summary> /// 获取gitlab信息 /// </summary> /// <param name="dataPath">节点路径</param> /// <param name="xmlConfigPath">xml路径</param> /// <returns></returns> public GitInfo GitInfoQuery(string dataPath, string xmlConfigPath) { GitInfo gitlabInfo = new GitInfo(); XmlDao xmlDao = new XmlDao(); try { XmlNodeList xmlNodeList = xmlDao.XmlQuery(dataPath, xmlConfigPath); gitlabInfo.Username = xmlNodeList[0].SelectSingleNode("Username").InnerText; gitlabInfo.Password = xmlNodeList[0].SelectSingleNode("Password").InnerText; gitlabInfo.Emailaddress = xmlNodeList[0].SelectSingleNode("Email").InnerText; gitlabInfo.Gitreversion = xmlNodeList[0].SelectSingleNode("GitReversion").InnerText; return(gitlabInfo); } catch (Exception) { return(gitlabInfo); } }
/// <summary> /// 执行更新操作 /// </summary> /// <param name="workDirectory">工程本地工作路径</param> /// <param name="svnPath">svn程序的路径</param> /// <param name="updateResult">更新操作的结果</param> /// <returns>返回更新操作的日志</returns> public string Update(string workDirectory, out string updateResult, string xmlConfigPath) { string err; string time; Tools tools = new Tools(); XmlDao xmlDao = new XmlDao(); XmlNodeList xmlNodeList = xmlDao.XmlQuery("config/preferences/SvnPath", xmlConfigPath); string svnPath = xmlNodeList[0].InnerText; string updateLog = ""; try { string args = "update --accept tf" + " " + workDirectory; updateLog = tools.BuildProject(svnPath, args, null, out err, out time); updateResult = "successful"; return(updateLog); } catch (Exception ex) { updateResult = "failed"; updateLog = ex.Message; return(updateLog); } }
// ======================================================================== private bool Gera_NFCe() { var xmlNFCe = new XmlDocument(); var xmlNFCeAssinado = new XmlDocument(); var gerarXml = new GeraXml(); var assinarXml = new AssinaXml(); var validarXml = new ValidaXml(); var transmitirXml = new TransmiteXml(); //Email email = new Email(); var xmlDao = new XmlDao(); StreamWriter Grava; string retValidar; string strProc; string strXmlProcNfe; string retTransmitir; string cStatus_LoteProcessado; string cStatus_Autorizado; int nPosI; int nPosF; try { retTransmitir = string.Empty; retValidar = string.Empty; cStatus_LoteProcessado = string.Empty; cStatus_Autorizado = string.Empty; _pedido.NFiscal = ((new ControleFiscalDao()).GetUltimoNumeroNFiscalGerado() + 1); try { // Gerando o XML xmlNFCe = (gerarXml.GeraXmlNFCe(_pedido)); //MensagemSistema("Arquivo Gerado ...", Color.OliveDrab); // Assinando o XML xmlNFCeAssinado = assinarXml.AssinaXML(xmlNFCe.InnerXml, "infNFe", CertificadoDigital.getInstance.oCertificado); } catch (Exception ex) { //Log_Exception.Monta_ArquivoLog(ex); //MensagemSistema("** Erro ao ASSINAR XML NFC-e, tente novamente **", Color.Brown); MessageBox.Show("Erro ao tentar gerar e assinar o xml da NFC-e" + Environment.NewLine + "Erro: " + ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } //MensagemSistema("Arquivo Assinado ...", Color.OliveDrab); if (GeraXml.AmbienteNFCe == "2") { //Salvando o arquivo XML na pasta Grava = File.CreateText(@"C:\Users\Comercial\Desktop\ASSINADO.xml"); Grava.Write(xmlNFCeAssinado.InnerXml); Grava.Close(); } try { // Validando o XML retValidar = validarXml.Valida(xmlNFCeAssinado, "NFe"); urlQRCode = gerarXml.GetUrlQRCode(xmlNFCeAssinado, _pedido); //Inserindo a URL QRCode no xml já assinado xmlNFCeAssinado.LoadXml(xmlNFCeAssinado.InnerXml.Replace("</infNFe>", "</infNFe><infNFeSupl><qrCode><![CDATA[" + urlQRCode + "]]></qrCode><urlChave>http://www4.fazenda.rj.gov.br/consultaNFCe/QRCode</urlChave></infNFeSupl>")); } catch (Exception ex) { //Log_Exception.Monta_ArquivoLog(ex); //MensagemSistema("** Erro ao VALIDAR XML NFC-e **", Color.Brown); MessageBox.Show("Erro ao tentar validar o xml da NFC-e " + Environment.NewLine + "Erro: " + ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } if (retValidar == string.Empty) { try { //MensagemSistema("Enviando a NFC-e", Color.OliveDrab); // Recebendo o XML de retorno da transmissão retTransmitir = transmitirXml.XML_NFCe4(xmlNFCeAssinado, _pedido.NFiscal.ToString(), CertificadoDigital.getInstance.oCertificado); if (retTransmitir.Substring(0, 4) != "Erro") { XmlDocument xmlRetorno = new XmlDocument(); xmlRetorno.LoadXml(retTransmitir); // Lote processado if (xmlRetorno.GetElementsByTagName("cStat")[0].InnerText == "104") { // Autorizado if (xmlRetorno.GetElementsByTagName("cStat")[1].InnerText == "100") { try { //MensagemSistema("Autorizado o uso da NFC-e", Color.OliveDrab); _pedido.Chave = xmlRetorno.GetElementsByTagName("chNFe")[0].InnerText; _pedido.Protocolo = xmlRetorno.GetElementsByTagName("nProt")[0].InnerText; // Separar somente o conteúdo a partir da tag <protNFe> até </protNFe> nPosI = retTransmitir.IndexOf("<protNFe"); nPosF = retTransmitir.Length - (nPosI + 13); strProc = retTransmitir.Substring(nPosI, nPosF); // XML pronto para salvar strXmlProcNfe = @"<?xml version=""1.0"" encoding=""utf-8"" ?><nfeProc xmlns=""http://www.portalfiscal.inf.br/nfe"" versao=""4.00"">" + xmlNFCeAssinado.InnerXml + strProc + "</nfeProc>"; _pedido.Xml = new Xml() { NumDoc = _pedido.NumDoc, ArquivoXml = strXmlProcNfe, Data = DateTime.Now, Modelo = _pedido.ModeloNFiscal, StatNFCe = "100" }; using (var db = new Database("stringConexao")) { db.BeginTransaction(); try { db.Update("Update Controle Set NFiscal=" + _pedido.NFiscal + " Where ChvControle = 1"); db.Update("Update Movdb Set data_nfiscal = '" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "', NFiscal= " + _pedido.NFiscal + ", Chave='" + _pedido.Chave + "' ,Protocolo='" + _pedido.Protocolo + "', status_nfce = '" + _pedido.Xml.StatNFCe + "' Where NumDoc = " + _pedido.NumDoc); db.CompleteTransaction(); } catch (Exception) { db.AbortTransaction(); } } if (GeraXml.AmbienteNFCe == "2") { //Salvando o arquivo XML na pasta Grava = File.CreateText(@"C:\Users\Comercial\Desktop\EMITIDO.xml"); Grava.Write(_pedido.Xml.ArquivoXml); Grava.Close(); } if (GeraXml.AmbienteNFCe == "1") { if (!string.IsNullOrEmpty(ControleFiscal.GetInstance.CaminhoXmlAutorizado)) { //Salvando o arquivo XML na pasta Grava = File.CreateText(ControleFiscal.GetInstance.CaminhoXmlAutorizado.Remove(ControleFiscal.GetInstance.CaminhoXmlAutorizado.Length - 1) + DateTime.Now.Month + @"\" + _pedido.Chave + "-procNfe.xml"); Grava.Write(_pedido.Xml.ArquivoXml); Grava.Close(); } } //Salva arquivo XML no Banco SQL (NFe) if (xmlDao.GravaXml(_pedido.Xml)) { } } catch (Exception ex) { MessageBox.Show("NOTA EMITIDA, porém houve um erro ao inesperado ao salvar as informações no banco de dados " + Environment.NewLine + "Erro: " + ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } else { MessageBox.Show("O xml não pôde ser Autorizado! " + Environment.NewLine + "Motivo: " + xmlRetorno.GetElementsByTagName("xMotivo")[1].InnerText, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } else { //MensagemSistema("Erro ao Transmitir(003) XML NFC-e para SEFAZ", Color.Brown); MessageBox.Show("Erro no arquivo xml: " + Environment.NewLine + "Erro: " + xmlRetorno.GetElementsByTagName("xMotivo")[0].InnerText, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } else { //MensagemSistema("Erro ao Transmitir(002) XML NFC-e para SEFAZ", Color.Brown); MessageBox.Show("Erro ao tentar transmitir o xml da NFC-e, tente novamente " + Environment.NewLine + "Erro: " + retTransmitir, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } catch (Exception ex) { //Log_Exception.Monta_ArquivoLog(ex); //MensagemSistema("Erro ao Transmitir(001) XML NFC-e para SEFAZ", Color.Brown); MessageBox.Show("Erro: " + ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } else { //MensagemSistema("Erro ao validar XML NFC-e", Color.Brown); MessageBox.Show("Erro XML Shema: " + retValidar, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } catch (Exception ex) { //Log_Exception.Monta_ArquivoLog(ex); //MensagemSistema("Ocorreu um erro inesperado, informe ao administrador do sistema!", Color.Brown); MessageBox.Show("Erro : " + ex.Message, "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } return(true); }
/// <summary> /// 查询配置信息 /// </summary> /// <param name="nodePath"></param> /// <returns></returns> public XmlNodeList FindConfigInfo(string nodePath, string xmlConfigPath) { XmlDao dao = new XmlDao(); return(dao.XmlQuery(nodePath, xmlConfigPath)); }
/// <summary> /// 获取人名对应表 /// </summary> /// <param name="nodePath">人名对应表节点路径</param> /// <param name="xmlPath">存放对应表的xml文件路径</param> /// <returns></returns> public XmlNodeList AcquireSlackPeople(string nodePath, string xmlPath) { XmlDao dao = new XmlDao(); return(dao.XmlQuery(nodePath, xmlPath)); }
internal void SaveCategoriesToFile() { XmlDao dao = new XmlDao(); dao.SerializeToFile("categories.xml", _categories); }