コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        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);
        }