示例#1
0
        /// <summary>
        /// 获取初始化数据对象
        /// </summary>
        /// <param name="AListStringArgs"></param>
        /// <returns></returns>
        private OperationDataArgs OperationA13(List <string> AListStringArgs)
        {
            OperationDataArgs LOperationReturn = new OperationDataArgs();

            LOperationReturn = DatabaseType0Operation.ObtainInitializationData(AListStringArgs);
            return(LOperationReturn);
        }
示例#2
0
        /// <summary>
        /// 连接到指定的 MS SQL Server 数据库,获取指定目录下的子目录
        /// </summary>
        /// <param name="AListStringArgs">
        /// 0~3 - 数据库连接参数
        /// 4 - 当前路径
        /// </param>
        /// <returns></returns>
        private OperationDataArgs OperationA206(List <string> AListStringArgs)
        {
            OperationDataArgs LOperationReturn = new OperationDataArgs();

            LOperationReturn = DatabaseType2Operation.GetSubdirectories(AListStringArgs);
            return(LOperationReturn);
        }
示例#3
0
        /// <summary>
        /// 获取需要创建的数据库对象
        /// </summary>
        /// <param name="AListStringArgs"></param>
        /// <returns></returns>
        private OperationDataArgs OperationA11(List <string> AListStringArgs)
        {
            OperationDataArgs LOperationReturn = new OperationDataArgs();

            LOperationReturn = DatabaseType0Operation.ObtainCreateObjects(AListStringArgs);
            return(LOperationReturn);
        }
示例#4
0
        /// <summary>
        /// 尝试连接到指定的Oracle数据库,且获得当前T_00_000的版本
        /// </summary>
        /// <param name="AListStringArgs"></param>
        /// <returns></returns>
        private OperationDataArgs OperationA305(List <string> AListStringArgs)
        {
            OperationDataArgs LOperationReturn = new OperationDataArgs();

            LOperationReturn = DatabaseType3Operation.Connect2SpecifiedServiceObtainCurrentVersion(AListStringArgs);

            return(LOperationReturn);
        }
示例#5
0
        /// <summary>
        /// 获取数据库中的用户数据库 和 登录名(LoginType = SqlLogin)
        /// </summary>
        /// <param name="AListStringArgs"></param>
        /// <returns></returns>
        private OperationDataArgs OperationA204(List <string> AListStringArgs)
        {
            OperationDataArgs LOperationReturn = new OperationDataArgs();

            LOperationReturn = DatabaseType2Operation.ObtainDatabasesLogins(AListStringArgs);

            return(LOperationReturn);
        }
示例#6
0
        /// <summary>
        /// 创建数据库登录用户
        /// </summary>
        /// <param name="AListStringArgs"></param>
        /// <returns></returns>
        private OperationDataArgs OperationA203(List <string> AListStringArgs)
        {
            OperationDataArgs LOperationReturn = new OperationDataArgs();

            LOperationReturn = DatabaseType2Operation.CreateLoginAccount(AListStringArgs);

            return(LOperationReturn);
        }
示例#7
0
        /// <summary>
        /// 连接到MS SQL Server 获取数据库服务器相关配置信息
        /// </summary>
        /// <param name="AListStringArgs"></param>
        /// <returns></returns>
        private OperationDataArgs OperationA201(List <string> AListStringArgs)
        {
            OperationDataArgs LOperationReturn = new OperationDataArgs();

            LOperationReturn = DatabaseType2Operation.ConnectToDatabase(AListStringArgs);

            return(LOperationReturn);
        }
示例#8
0
        /// <summary>
        /// 初始化表数据
        /// </summary>
        /// <param name="AListStringArgs">
        /// 0-是否已经初始化
        /// 1-数据库类型
        /// 2-数据库服务器
        /// 3-端口
        /// 4-登录名
        /// 5-登录密码
        /// 6-目标数据库
        /// 7-对象类型
        /// 8-对象路径
        /// 9-租户Token
        /// </param>
        /// <returns></returns>
        private OperationDataArgs OperationA14(List <string> AListStringArgs)
        {
            OperationDataArgs LOperationReturn = new OperationDataArgs();

            if (AListStringArgs[0] == "1")
            {
                LOperationReturn.BoolReturn   = true;
                LOperationReturn.StringReturn = AscCodeToChr(27);
                return(LOperationReturn);
            }
            if (AListStringArgs[1] == "2")
            {
                LOperationReturn = DatabaseType2Operation.InitTablesData(AListStringArgs, GetIISBaseDirectory());
            }
            if (AListStringArgs[1] == "3")
            {
                LOperationReturn = DatabaseType3Operation.InitTablesData(AListStringArgs, GetIISBaseDirectory());
            }

            return(LOperationReturn);
        }
示例#9
0
        /// <summary>
        /// 创建数据库对象
        /// </summary>
        /// <param name="AListStringArgs">
        /// 0-是否已经创建
        /// 1-数据库类型
        /// 2-数据库服务器
        /// 3-端口
        /// 4-登录名
        /// 5-登录密码
        /// 6-目标数据库
        /// 7-对象类型
        /// 8-对象路径
        /// 9-租户Token
        /// <returns></returns>
        private OperationDataArgs OperationA12(List <string> AListStringArgs)
        {
            OperationDataArgs LOperationReturn = new OperationDataArgs();

            if (AListStringArgs[0] == "1")
            {
                LOperationReturn.BoolReturn   = true;
                LOperationReturn.StringReturn = AscCodeToChr(27);
                return(LOperationReturn);
            }

            if (AListStringArgs[1] == "2" && AListStringArgs[7] == "T")
            {
                LOperationReturn = DatabaseType2Operation.CreateObjectTable(AListStringArgs, GetIISBaseDirectory());
            }
            if (AListStringArgs[1] == "2" && AListStringArgs[7] == "F")
            {
                LOperationReturn = DatabaseType2Operation.CreateObjectBySQL(AListStringArgs, GetIISBaseDirectory());
            }
            if (AListStringArgs[1] == "2" && AListStringArgs[7] == "P")
            {
                LOperationReturn = DatabaseType2Operation.CreateObjectBySQL(AListStringArgs, GetIISBaseDirectory());
            }

            if (AListStringArgs[1] == "3" && AListStringArgs[7] == "T")
            {
                LOperationReturn = DatabaseType3Operation.CreateObjectTable(AListStringArgs, GetIISBaseDirectory());
            }
            if (AListStringArgs[1] == "3" && AListStringArgs[7] == "F")
            {
                LOperationReturn = DatabaseType3Operation.CreateObjectBySQL(AListStringArgs, GetIISBaseDirectory());
            }
            if (AListStringArgs[1] == "3" && AListStringArgs[7] == "P")
            {
                LOperationReturn = DatabaseType3Operation.CreateObjectBySQL(AListStringArgs, GetIISBaseDirectory());
            }

            return(LOperationReturn);
        }
示例#10
0
        /// <summary>
        /// 向XML文件中写入数据库连接参数信息,通知 Service 00 重新获得数据库连接参数
        /// </summary>
        /// <param name="AListStringArgs">
        /// 0-数据库类型
        /// 1-数据库服务器
        /// 2-端口
        /// 3-登录名
        /// 4-登录密码
        /// 5-数据库名或服务名
        /// 6-当前版本
        /// </param>
        /// <returns></returns>
        private OperationDataArgs OperationA90(List <string> AListStringArgs)
        {
            OperationDataArgs LOperationReturn        = new OperationDataArgs();
            string            LStrXmlFileName         = string.Empty;
            string            LStrVerificationCode004 = string.Empty;
            string            LStrVerificationCode104 = string.Empty;
            string            LStrP02 = string.Empty;
            string            LStrP04 = string.Empty, LStrP05 = string.Empty, LStrP06 = string.Empty, LStrP07 = string.Empty, LStrP08 = string.Empty;
            string            LStrP09           = string.Empty;
            string            LStrLoginPassword = string.Empty;

            string LStrDBConnectProfile = string.Empty;
            string LStrDynamicSQL       = string.Empty;

            int       LIntHttpBindingPort = 0;
            int       LIntService01Port   = 0;
            string    LStrCallReturn      = string.Empty;
            string    LStrSendMessage     = string.Empty;
            TcpClient LTcpClient          = null;
            SslStream LSslStream          = null;

            try
            {
                LStrVerificationCode004 = CreateVerificationCode(EncryptionAndDecryption.UMPKeyAndIVType.M004);
                LStrVerificationCode104 = CreateVerificationCode(EncryptionAndDecryption.UMPKeyAndIVType.M104);

                LStrLoginPassword = EncryptionAndDecryption.EncryptDecryptString(AListStringArgs[4], LStrVerificationCode104, EncryptionAndDecryption.UMPKeyAndIVType.M104);

                #region 保存数据库连接信息至 UMP.Server\Args01.UMP.xml
                LStrXmlFileName = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
                LStrXmlFileName = Path.Combine(LStrXmlFileName, @"UMP.Server\Args01.UMP.xml");

                XmlDocument LXmlDocArgs01 = new XmlDocument();
                LXmlDocArgs01.Load(LStrXmlFileName);
                XmlNodeList LXmlNodeListDatabaseParameters = LXmlDocArgs01.SelectSingleNode("DatabaseParameters").ChildNodes;
                foreach (XmlNode LXmlNodeSingleDatabaseParameter in LXmlNodeListDatabaseParameters)
                {
                    LXmlNodeSingleDatabaseParameter.Attributes["P03"].Value = EncryptionAndDecryption.EncryptDecryptString("0", LStrVerificationCode004, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LStrP02 = LXmlNodeSingleDatabaseParameter.Attributes["P02"].Value;
                    LStrP02 = EncryptionAndDecryption.EncryptDecryptString(LStrP02, LStrVerificationCode104, EncryptionAndDecryption.UMPKeyAndIVType.M104);
                    if (LStrP02 != AListStringArgs[0])
                    {
                        continue;
                    }
                    LXmlNodeSingleDatabaseParameter.Attributes["P03"].Value = EncryptionAndDecryption.EncryptDecryptString("1", LStrVerificationCode004, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LStrP04 = EncryptionAndDecryption.EncryptDecryptString(AListStringArgs[1], LStrVerificationCode004, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LStrP05 = EncryptionAndDecryption.EncryptDecryptString(AListStringArgs[2], LStrVerificationCode004, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LStrP06 = EncryptionAndDecryption.EncryptDecryptString(AListStringArgs[5], LStrVerificationCode004, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LStrP07 = EncryptionAndDecryption.EncryptDecryptString(AListStringArgs[3], LStrVerificationCode004, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LStrP08 = EncryptionAndDecryption.EncryptDecryptString(LStrLoginPassword, LStrVerificationCode004, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LStrP09 = EncryptionAndDecryption.EncryptDecryptString(AListStringArgs[6], LStrVerificationCode004, EncryptionAndDecryption.UMPKeyAndIVType.M004);

                    LXmlNodeSingleDatabaseParameter.Attributes["P04"].Value = LStrP04;
                    LXmlNodeSingleDatabaseParameter.Attributes["P05"].Value = LStrP05;
                    LXmlNodeSingleDatabaseParameter.Attributes["P06"].Value = LStrP06;
                    LXmlNodeSingleDatabaseParameter.Attributes["P07"].Value = LStrP07;
                    LXmlNodeSingleDatabaseParameter.Attributes["P08"].Value = LStrP08;
                    LXmlNodeSingleDatabaseParameter.Attributes["P09"].Value = LStrP09;
                }
                LXmlDocArgs01.Save(LStrXmlFileName);
                #endregion

                #region 将创建的版本信息写入到 T_00_000
                string LStrSelectC000 = AscCodeToChr(27) + AscCodeToChr(27) + AscCodeToChr(27) + AscCodeToChr(27) + "1";
                if (AListStringArgs[0] == "2")
                {
                    LStrDBConnectProfile = string.Format("Data Source={0},{1};Initial Catalog={2};User Id={3};Password={4}", AListStringArgs[1], AListStringArgs[2], AListStringArgs[5], AListStringArgs[3], LStrLoginPassword);
                    LStrDynamicSQL       = "INSERT INTO T_00_000(C000, C001, C002, C003, C004, C005) VALUES('" + LStrSelectC000 + "', 'CreateDB', '" + AListStringArgs[6] + "', 'CREATEDB', '1', GETUTCDATE())";
                }
                if (AListStringArgs[0] == "3")
                {
                    LStrDBConnectProfile = string.Format("Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={0}) (PORT={1})))(CONNECT_DATA=(SERVICE_NAME= {2})));User Id={3}; Password={4}", AListStringArgs[1], AListStringArgs[2], AListStringArgs[5], AListStringArgs[3], LStrLoginPassword);
                    LStrDynamicSQL       = "INSERT INTO T_00_000(C000, C001, C002, C003, C004, C005) VALUES('" + LStrSelectC000 + "', 'CreateDB', '" + AListStringArgs[6] + "', 'CREATEDB', '1', F_00_004())";
                }
                DataOperations01          LDataOperations            = new DataOperations01();
                DatabaseOperation01Return LDatabaseOperation01Return = LDataOperations.SelectDataByDynamicSQL(int.Parse(AListStringArgs[0]), LStrDBConnectProfile, LStrDynamicSQL);
                if (!LDatabaseOperation01Return.BoolReturn)
                {
                    LOperationReturn.BoolReturn   = false;
                    LOperationReturn.StringReturn = LDatabaseOperation01Return.StrReturn;
                    return(LOperationReturn);
                }
                #endregion

                #region 通知 Service 00 重新获得数据库连接参数
                LStrSendMessage = EncryptionAndDecryption.EncryptDecryptString("M01C01", LStrVerificationCode004, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                foreach (string LStrSingleArgs in AListStringArgs)
                {
                    LStrSendMessage += AscCodeToChr(27) + LStrSingleArgs;
                }
                LIntHttpBindingPort = GetIISHttpBindingPort(ref LStrCallReturn);
                if (LIntHttpBindingPort <= 0)
                {
                    LOperationReturn.BoolReturn   = false;
                    LOperationReturn.StringReturn = "GetIISHttpBindingPort()\n" + LStrCallReturn;
                    return(LOperationReturn);
                }
                LIntService01Port = LIntHttpBindingPort - 1;
                if (LIntService01Port == 8009)
                {
                    LIntService01Port = 8008;
                }
                try
                {
                    LTcpClient = new TcpClient("127.0.0.1", LIntService01Port);
                    LSslStream = new SslStream(LTcpClient.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null);
                    LSslStream.AuthenticateAsClient("VoiceCyber.PF", null, SslProtocols.Default, false);
                    byte[] LByteMesssage = Encoding.UTF8.GetBytes(LStrSendMessage + "\r\n");
                    LSslStream.Write(LByteMesssage); LSslStream.Flush();
                }
                catch { }
                #endregion
            }
            catch (Exception ex)
            {
                LOperationReturn.BoolReturn   = false;
                LOperationReturn.StringReturn = "OperationA90()\n" + ex.ToString();
            }
            finally
            {
                if (LSslStream != null)
                {
                    LSslStream.Close();
                }
                if (LTcpClient != null)
                {
                    LTcpClient.Close();
                }
            }

            return(LOperationReturn);
        }
示例#11
0
        /// <summary>
        /// 根据租户信息,更改表中的初始化数据
        /// </summary>
        /// <param name="AListStringArgs">
        /// 0-数据库类型
        /// 1-数据库服务器
        /// 2-端口
        /// 3-登录名
        /// 4-登录密码
        /// 5-数据库名或服务名
        /// 6-0租户名称
        /// 7-1租户Token
        /// 8-2超级系统管理员密码
        /// 9-3系统默认界面显示语言
        /// </param>
        /// <returns></returns>
        private OperationDataArgs OperationA15(List <string> AListStringArgs)
        {
            OperationDataArgs LOperationReturn        = new OperationDataArgs();
            List <string>     LListStrDatabaseProfile = new List <string>();
            List <string>     LListStrRentDataSetted  = new List <string>();

            string LStrXmlFileName         = string.Empty;
            string LStrVerificationCode001 = string.Empty;
            string LStrVerificationCode104 = string.Empty;
            string LStrUserID19            = string.Empty;
            string LStrXmlSAPassword       = string.Empty;
            string LStrA01 = string.Empty;

            try
            {
                for (int LIntLoopTemp = 0; LIntLoopTemp <= 5; LIntLoopTemp++)
                {
                    LListStrDatabaseProfile.Add(AListStringArgs[LIntLoopTemp]);
                }
                for (int LIntLoopTemp = 6; LIntLoopTemp <= 9; LIntLoopTemp++)
                {
                    LListStrRentDataSetted.Add(AListStringArgs[LIntLoopTemp]);
                }

                if (LListStrDatabaseProfile[0] == "2")
                {
                    LOperationReturn = DatabaseType2Operation.InitTableByRentInfo(LListStrDatabaseProfile, LListStrRentDataSetted);
                }
                if (LListStrDatabaseProfile[0] == "3")
                {
                    LOperationReturn = DatabaseType3Operation.InitTableByRentInfo(LListStrDatabaseProfile, LListStrRentDataSetted);
                }

                #region 修改XML文件的administrator的密码
                LStrVerificationCode001 = CreateVerificationCode(EncryptionAndDecryption.UMPKeyAndIVType.M001);
                LStrVerificationCode104 = CreateVerificationCode(EncryptionAndDecryption.UMPKeyAndIVType.M104);
                LStrUserID19            = "102" + AListStringArgs[7] + "00000000001";
                LStrXmlSAPassword       = EncryptionAndDecryption.EncryptDecryptString(AListStringArgs[8], LStrVerificationCode104, EncryptionAndDecryption.UMPKeyAndIVType.M104);
                LStrXmlSAPassword       = EncryptionAndDecryption.EncryptStringSHA512(LStrUserID19 + LStrXmlSAPassword, LStrVerificationCode001, EncryptionAndDecryption.UMPKeyAndIVType.M001);
                LStrXmlFileName         = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
                LStrXmlFileName         = Path.Combine(LStrXmlFileName, @"UMP.Server\Args02.UMP.xml");
                XmlDocument LXmlDocArgs02 = new XmlDocument();
                LXmlDocArgs02.Load(LStrXmlFileName);
                XmlNodeList LXmlNodeListSAUsers = LXmlDocArgs02.SelectSingleNode("Parameters02").SelectSingleNode("SAUsers").ChildNodes;
                foreach (XmlNode LXmlNodeSingleUser in LXmlNodeListSAUsers)
                {
                    LStrA01 = LXmlNodeSingleUser.Attributes["A01"].Value;
                    if (LStrA01 != LStrUserID19)
                    {
                        continue;
                    }
                    LXmlNodeSingleUser.Attributes["A03"].Value = LStrXmlSAPassword;
                    break;
                }
                LXmlDocArgs02.Save(LStrXmlFileName);
                #endregion
            }
            catch (Exception ex)
            {
                LOperationReturn.BoolReturn   = false;
                LOperationReturn.StringReturn = "OperationA15()\n" + ex.ToString();
            }

            return(LOperationReturn);
        }
示例#12
0
        public OperationDataArgs OperationMethodA(int AIntOperationID, List <string> AListStringArgs)
        {
            OperationDataArgs LOperationReturn = new OperationDataArgs();

            try
            {
                if (AIntOperationID == 1)
                {
                    LOperationReturn = OperationA01(); return(LOperationReturn);
                }

                if (AIntOperationID == 11)
                {
                    LOperationReturn = OperationA11(AListStringArgs); return(LOperationReturn);
                }
                if (AIntOperationID == 12)
                {
                    LOperationReturn = OperationA12(AListStringArgs); return(LOperationReturn);
                }
                if (AIntOperationID == 13)
                {
                    LOperationReturn = OperationA13(AListStringArgs); return(LOperationReturn);
                }
                if (AIntOperationID == 14)
                {
                    LOperationReturn = OperationA14(AListStringArgs); return(LOperationReturn);
                }
                if (AIntOperationID == 15)
                {
                    LOperationReturn = OperationA15(AListStringArgs); return(LOperationReturn);
                }

                if (AIntOperationID == 90)
                {
                    LOperationReturn = OperationA90(AListStringArgs); return(LOperationReturn);
                }

                if (AIntOperationID == 201)
                {
                    LOperationReturn = OperationA201(AListStringArgs); return(LOperationReturn);
                }
                if (AIntOperationID == 202)
                {
                    LOperationReturn = OperationA202(AListStringArgs); return(LOperationReturn);
                }
                if (AIntOperationID == 203)
                {
                    LOperationReturn = OperationA203(AListStringArgs); return(LOperationReturn);
                }
                if (AIntOperationID == 204)
                {
                    LOperationReturn = OperationA204(AListStringArgs); return(LOperationReturn);
                }
                if (AIntOperationID == 205)
                {
                    LOperationReturn = OperationA205(AListStringArgs); return(LOperationReturn);
                }
                if (AIntOperationID == 206)
                {
                    LOperationReturn = OperationA206(AListStringArgs); return(LOperationReturn);
                }

                if (AIntOperationID == 305)
                {
                    LOperationReturn = OperationA305(AListStringArgs); return(LOperationReturn);
                }
            }
            catch (Exception ex)
            {
                LOperationReturn.BoolReturn   = false;
                LOperationReturn.StringReturn = ex.ToString();
            }

            return(LOperationReturn);
        }
示例#13
0
        /// <summary>
        /// 取数据库连接参数
        /// </summary>
        /// <returns>DBID、DBType、ServerHost、ServerPort、NameService、LoginID、LoginPwd、OtherArgs、Describer、IsEnabled 以DataSet形式返回</returns>
        private OperationDataArgs OperationA01()
        {
            OperationDataArgs LOperationReturn = new OperationDataArgs();
            bool   LBoolCreated         = false;
            string LStrXmlFileName      = string.Empty;
            string LStrVerificationCode = string.Empty;
            string LStrP03 = string.Empty;

            try
            {
                LStrXmlFileName = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
                LStrXmlFileName = Path.Combine(LStrXmlFileName, @"UMP.Server\Args01.UMP.xml");
                if (!File.Exists(LStrXmlFileName))
                {
                    LOperationReturn.BoolReturn   = false;
                    LOperationReturn.StringReturn = "Error01";
                    return(LOperationReturn);
                }
                XmlDocument LXmlDocArgs01 = new XmlDocument();
                LXmlDocArgs01.Load(LStrXmlFileName);
                XmlNodeList LXmlNodeListDatabase = LXmlDocArgs01.SelectSingleNode("DatabaseParameters").ChildNodes;

                DataTable LDataTableDatabaseList = new DataTable();
                LDataTableDatabaseList.Columns.Add("DBID", typeof(int));
                LDataTableDatabaseList.Columns.Add("DBType", typeof(int));
                LDataTableDatabaseList.Columns.Add("ServerHost", typeof(string));
                LDataTableDatabaseList.Columns.Add("ServerPort", typeof(string));
                LDataTableDatabaseList.Columns.Add("NameService", typeof(string));
                LDataTableDatabaseList.Columns.Add("LoginID", typeof(string));
                LDataTableDatabaseList.Columns.Add("LoginPwd", typeof(string));
                LDataTableDatabaseList.Columns.Add("OtherArgs", typeof(string));
                LDataTableDatabaseList.Columns.Add("Describer", typeof(string));
                LDataTableDatabaseList.Columns.Add("IsEnabled", typeof(string));

                LStrVerificationCode = CreateVerificationCode(EncryptionAndDecryption.UMPKeyAndIVType.M004);

                foreach (XmlNode LXmlNodeSingleDatabase in LXmlNodeListDatabase)
                {
                    DataRow LDataRow = LDataTableDatabaseList.NewRow();
                    LDataRow.BeginEdit();
                    LDataRow["DBID"]        = int.Parse(LXmlNodeSingleDatabase.Attributes["P01"].Value);
                    LDataRow["DBType"]      = int.Parse(LXmlNodeSingleDatabase.Attributes["P02"].Value);
                    LDataRow["ServerHost"]  = EncryptionAndDecryption.EncryptDecryptString(LXmlNodeSingleDatabase.Attributes["P04"].Value, LStrVerificationCode, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LDataRow["ServerPort"]  = EncryptionAndDecryption.EncryptDecryptString(LXmlNodeSingleDatabase.Attributes["P05"].Value, LStrVerificationCode, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LDataRow["NameService"] = EncryptionAndDecryption.EncryptDecryptString(LXmlNodeSingleDatabase.Attributes["P06"].Value, LStrVerificationCode, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LDataRow["LoginID"]     = EncryptionAndDecryption.EncryptDecryptString(LXmlNodeSingleDatabase.Attributes["P07"].Value, LStrVerificationCode, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LDataRow["LoginPwd"]    = EncryptionAndDecryption.EncryptDecryptString(LXmlNodeSingleDatabase.Attributes["P08"].Value, LStrVerificationCode, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LDataRow["OtherArgs"]   = EncryptionAndDecryption.EncryptDecryptString(LXmlNodeSingleDatabase.Attributes["P09"].Value, LStrVerificationCode, EncryptionAndDecryption.UMPKeyAndIVType.M004);
                    LDataRow["Describer"]   = LXmlNodeSingleDatabase.Attributes["P10"].Value;
                    LStrP03 = LXmlNodeSingleDatabase.Attributes["P03"].Value;
                    LDataRow["IsEnabled"] = LStrP03;
                    LDataRow.EndEdit();
                    LDataTableDatabaseList.Rows.Add(LDataRow);
                    if (LStrP03 == "1")
                    {
                        LBoolCreated = true;
                    }
                }
                if (LBoolCreated)
                {
                    LOperationReturn.StringReturn = "1";
                }
                else
                {
                    LOperationReturn.StringReturn = "0";
                }
                LOperationReturn.DataSetReturn.Tables.Add(LDataTableDatabaseList);
            }
            catch (Exception ex)
            {
                LOperationReturn.BoolReturn   = false;
                LOperationReturn.StringReturn = ex.ToString();
            }
            return(LOperationReturn);
        }
示例#14
0
        /// <summary>
        /// 获取需要创建的对象
        /// </summary>
        /// <param name="AListStrArguments">
        /// 0-数据库类型
        /// 1-当前已经存在的版本
        /// </param>
        /// <returns></returns>
        public static OperationDataArgs ObtainCreateObjects(List <string> AListStrArguments)
        {
            OperationDataArgs LOperationDataArgsReturn = new OperationDataArgs();
            string            LStrIISBaseFolder        = string.Empty;
            string            LStrObjectsFolder        = string.Empty;

            string LStrGetVersion          = string.Empty;
            string LStrGetObjectFolder     = string.Empty;
            string LStrObjectFolderLeft1   = string.Empty;
            string LStrObjectFolderRight1  = string.Empty;
            string LStrGetObjectFileName   = string.Empty;
            string LStrObjectName          = string.Empty;
            int    LIntLastSpliterPosition = 0;

            try
            {
                LStrIISBaseFolder = GetIISBaseDirectory();
                LStrObjectsFolder = System.IO.Path.Combine(LStrIISBaseFolder, @"MAMT\DBObjects");

                Version LVersionInArgument = new Version(AListStrArguments[1]);

                #region 创建对象保存的表
                DataTable LDataTableObjectsList = new DataTable();
                //对象名称
                LDataTableObjectsList.Columns.Add("C001", typeof(string));
                //对象类型
                LDataTableObjectsList.Columns.Add("C002", typeof(string));
                //所在相对路径 "MAMT\DBObjects"后面的路径
                LDataTableObjectsList.Columns.Add("C003", typeof(string));
                //版本
                LDataTableObjectsList.Columns.Add("C004", typeof(string));
                #endregion

                DirectoryInfo LDirectoryInfoDBObjects = new DirectoryInfo(LStrObjectsFolder);
                foreach (DirectoryInfo LDirectoryInfoVersion in LDirectoryInfoDBObjects.GetDirectories())
                {
                    LStrGetVersion = LDirectoryInfoVersion.Name;
                    Version LVersionGetted = new Version(LStrGetVersion);
                    if (LVersionInArgument >= LVersionGetted)
                    {
                        continue;
                    }
                    foreach (DirectoryInfo LDirectoryInfoSingleObject in LDirectoryInfoVersion.GetDirectories())
                    {
                        LStrGetObjectFolder   = LDirectoryInfoSingleObject.Name;
                        LStrObjectFolderLeft1 = LStrGetObjectFolder.Substring(0, 1);
                        if (LStrObjectFolderLeft1 == "0" || LStrObjectFolderLeft1 == AListStrArguments[0])
                        {
                            LStrObjectFolderRight1 = LStrGetObjectFolder.Substring(LStrGetObjectFolder.Length - 1, 1);
                            foreach (FileInfo LFileInfoSingleFile in LDirectoryInfoSingleObject.GetFiles())
                            {
                                LStrGetObjectFileName   = LFileInfoSingleFile.Name;
                                LIntLastSpliterPosition = LStrGetObjectFileName.LastIndexOf('.');
                                LStrObjectName          = LStrGetObjectFileName.Substring(0, LIntLastSpliterPosition);
                                DataRow LDataRowNew = LDataTableObjectsList.NewRow();
                                LDataRowNew.BeginEdit();
                                LDataRowNew["C001"] = LStrObjectName;
                                LDataRowNew["C002"] = LStrObjectFolderRight1;
                                LDataRowNew["C003"] = LStrGetVersion + @"\" + LStrGetObjectFolder + @"\" + LStrGetObjectFileName;
                                LDataRowNew["C004"] = LStrGetVersion;
                                LDataRowNew.EndEdit();
                                LDataTableObjectsList.Rows.Add(LDataRowNew);
                            }
                        }
                    }
                }
                LOperationDataArgsReturn.DataSetReturn.Tables.Add(LDataTableObjectsList);
            }
            catch (Exception ex)
            {
                LOperationDataArgsReturn.BoolReturn   = false;
                LOperationDataArgsReturn.StringReturn = "ObtainCreateObjects()\n" + ex.Message;
            }

            return(LOperationDataArgsReturn);
        }