示例#1
0
 private void SaveSecretkey(SecretkeyData secretkeyData)
 {
     IniProfile <SystemSetting> .Instance.Profile.Secretkey = EncryptString(secretkeyData.ToJsonString());
     IniProfile <SystemSetting> .Instance.Save();
 }
示例#2
0
        public ActionResult <string> SaveLicense(Guid token, LicensingModel licensingData)
        {
            if (!token.Equals(SecurityToken) || licensingData == null)
            {
                return(ActionResult <string> .SetError("非法的调用", licensingData == null? "提交数据不能为空" : "Token信息不正确"));
            }

            if (!licensingData.MachineCode.Equals(machineCode))
            {
                return(ActionResult <string> .SetError("非法的调用", "机器码不正确"));
            }

            var dataDecrypt = "";

            try
            {
                dataDecrypt = DecryptString(licensingData.License);
            }
            catch (Exception ex)
            {
                return(ActionResult <string> .SetError("授权序号错误", ex.Message));
            }
            var expirationDate = dataDecrypt.CastTo(DateTime.MinValue);

            if (expirationDate < DateTime.Now)
            {
                return(ActionResult <string> .SetError("授权序号已经过期", licensingData.License));
            }

            var secretkeyData = new SecretkeyData()
            {
                Ftp = new FtpSetting()
                {
                    Server   = licensingData.FtpServer,
                    Port     = licensingData.FtpPort,
                    UserID   = licensingData.FtpUserName,
                    Password = licensingData.FtpPassword
                },
                Database = new Dictionary <DbClientType, DbConnectionSetting>()
                {
                    {
                        DbClientType.MsSql,
                        new DbConnectionSetting()
                        {
                            Provider         = licensingData.Provider,
                            ConnectionString = licensingData.ConnectionString
                        }
                    }
                },
                ExtendSetting  = new Dictionary <string, string>(),
                DataType       = (SaveDataType)licensingData.SaveDataType,
                LicensingDate  = DateTime.Now,
                ExpirationDate = expirationDate
            };

            if (dbMode)
            {
                foreach (var dbConn in secretkeyData.Database)
                {
                    DbFactory.Initialization(
                        dbConn.Key,
                        dbConn.Value.Provider,
                        dbConn.Value.ConnectionString);


                    if (dbConn.Key == DbClientType.MsSql)
                    {
                        try
                        {
                            var now = DbFactory.Repository <DatabaseRepository>().GetServerDate(DateTime.Now);
                        }
                        catch (Exception ex)
                        {
                            return(ActionResult <string> .SetError($"数据库连接失败,{ex.Message}", dbConn.Value.ConnectionString)); //数据连接失败
                        }
                    }
                }
            }

            DbFactory.SetFtpSetting(
                secretkeyData.Ftp.Server,
                secretkeyData.Ftp.Port,
                secretkeyData.Ftp.UserID,
                secretkeyData.Ftp.Password);

            SaveSecretkey(secretkeyData);

            return(ActionResult <string> .SetSuccess("", licensingData.License));
        }