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); }