/// <summary> /// 尝试解密语言包文件(导入时用) /// </summary> /// <param name="AStrSourceFile"></param> /// <param name="AStrPassword"></param> /// <param name="AStrReturn"></param> /// <returns></returns> public bool TryDecryptionLanguagePackage(string AStrSourceFile, string AStrPassword, ref string AStrReturn) { bool LBoolReturn = true; string LStrSourceBody = string.Empty; try { IStrLanguagePackageBody = string.Empty; AStrReturn = string.Empty; LBoolReturn = VoiceCyberPrivate.DecryptFileToString(AStrSourceFile, AStrPassword, ref AStrReturn); if (LBoolReturn) { LBoolReturn = IsXMLTypeFileOrString("", AStrReturn); if (LBoolReturn) { LStrSourceBody = AStrReturn; LBoolReturn = SourceIsLanguagePackage(LStrSourceBody, ref AStrReturn); if (!LBoolReturn) { AStrReturn = "FileContentError"; } else { IStrLanguagePackageBody = LStrSourceBody; } } else { AStrReturn = "FileFormatError"; } } else { AStrReturn = "LanFileDecryptFailed"; } } catch { LBoolReturn = false; AStrReturn = "LanFileDecryptFailed"; } return(LBoolReturn); }
/// <summary> /// 尝试解密语言包文件(导入时用) /// </summary> /// <param name="AStrSourceFile"></param> /// <param name="AStrPassword"></param> /// <param name="AStrReturn"></param> /// <returns></returns> public static bool TryDecryptionLanguagePackage(string AStrSourceFile, string AStrPassword, ref string AStrReturn) { bool LBoolReturn = true; string LStrSourceBody = string.Empty; try { AStrReturn = string.Empty; LBoolReturn = VoiceCyberPrivate.DecryptFileToString(AStrSourceFile, AStrPassword, ref AStrReturn); if (LBoolReturn) { LBoolReturn = IsXMLTypeFileOrString("", AStrReturn); if (LBoolReturn) { LStrSourceBody = AStrReturn; LBoolReturn = SourceIsLanguagePackage(LStrSourceBody, ref AStrReturn); if (!LBoolReturn) { AStrReturn = "N013"; } else { } } else { AStrReturn = "N012"; } } else { AStrReturn = "N011"; } } catch { LBoolReturn = false; AStrReturn = "N011"; } return(LBoolReturn); }
private bool WriteDataToXMLFile(DataTable ADataTableSelected, ref string AStrReturn) { bool LBoolReturn = true; int LIntLoopColumns = 0, LIntAllColumns = 0; int LIntLoopRows = 0, LIntAllRows = 0; string LStrSourceFile = string.Empty; string LStrColumnName = string.Empty; try { LStrSourceFile = System.IO.Path.Combine(App.GStrUserMyDocumentsDirectory, IListStrExportOptions[1] + "-" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xml"); XmlTextWriter LXmlWriter = new XmlTextWriter(LStrSourceFile, Encoding.UTF8); LXmlWriter.Formatting = Formatting.Indented; LXmlWriter.WriteStartDocument(true); LXmlWriter.WriteStartElement("LanguageDataRowsList"); LXmlWriter.WriteAttributeString("TableName", "T_00_005"); LXmlWriter.WriteAttributeString("LanguageCode", IListStrExportOptions[1]); LXmlWriter.WriteAttributeString("Version", "1.01.001"); LXmlWriter.WriteAttributeString("Options", "Export"); LXmlWriter.WriteAttributeString("Author", "Young Yang"); LIntAllRows = ADataTableSelected.Rows.Count; LIntAllColumns = ADataTableSelected.Columns.Count; for (LIntLoopRows = 0; LIntLoopRows < LIntAllRows; LIntLoopRows++) { LXmlWriter.WriteStartElement("T_00_005"); for (LIntLoopColumns = 0; LIntLoopColumns < LIntAllColumns; LIntLoopColumns++) { LStrColumnName = ADataTableSelected.Columns[LIntLoopColumns].ColumnName; if (ADataTableSelected.Columns[LIntLoopColumns].DataType == typeof(DateTime)) { string LStrDateTimeData = ADataTableSelected.Rows[LIntLoopRows][LIntLoopColumns].ToString(); if (!string.IsNullOrEmpty(LStrDateTimeData)) { LXmlWriter.WriteElementString(LStrColumnName, ((DateTime)ADataTableSelected.Rows[LIntLoopRows][LIntLoopColumns]).ToString("yyyy-MM-dd HH:mm:ss")); } else { LXmlWriter.WriteElementString(LStrColumnName, DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss")); } } else { LXmlWriter.WriteElementString(LStrColumnName, ADataTableSelected.Rows[LIntLoopRows][LIntLoopColumns].ToString()); } } LXmlWriter.WriteEndElement(); } LXmlWriter.WriteEndElement(); LXmlWriter.WriteEndDocument(); LXmlWriter.Flush(); LXmlWriter.Close(); if (string.IsNullOrEmpty(IListStrExportOptions[2])) { if (System.IO.File.Exists(IListStrExportOptions[0])) { System.IO.File.Delete(IListStrExportOptions[0]); } System.IO.File.Move(LStrSourceFile, IListStrExportOptions[0]); } else { LBoolReturn = VoiceCyberPrivate.EncryptFileToFile(LStrSourceFile, IListStrExportOptions[0], IListStrExportOptions[2], true, true, ref AStrReturn); } if (LBoolReturn) { AStrReturn = LStrSourceFile; } } catch (Exception ex) { LBoolReturn = false; AStrReturn = ex.Message; } return(LBoolReturn); }