コード例 #1
0
 private async Task SaveSettingAsyncInternal(MessagePlatformSetting setting)
 {
     using (var connection = database.GetConnection())
     {
         DbCommand command = connection.CreateCommand();
         command.CommandType = System.Data.CommandType.Text;
         command.CommandText = "";
         var count = await command.ExecuteNonQueryAsync();
     }
 }
コード例 #2
0
        private async Task <string> GetJsApiTicketAsyncInternal(string appId, bool forceRefresh = false)
        {
            var ticket = await tokenRepository.GetJsApiTicketAsync(appId);

            if (ticket.IsWillExpire() || forceRefresh)
            {
                MessagePlatformSetting setting = await GetSettingAsync(appId);

                ticket = await GetAndUpdateJsApiTicketAsync(appId);
            }
            return(ticket.Value);
        }
コード例 #3
0
        private async Task <string> GetAccessTokenAsyncInternal(string appId, bool forceRefresh = false)
        {
            var token = await tokenRepository.GetAccessTokenAsync(appId);

            if (token.IsWillExpire() || forceRefresh)
            {
                MessagePlatformSetting setting = await GetSettingAsync(appId);

                token = await GetAndUpdateTokenAsync(appId, setting.AppSecret, setting.AppToken);
            }
            return(token.Value);
        }
コード例 #4
0
        private MessagePlatformSetting Map(DbDataReader reader)
        {
            MessagePlatformSetting setting = new MessagePlatformSetting(
                (string)reader["app_id"],
                (string)reader["app_secret"],
                (string)reader["app_token"],
                (string)reader["encoding_aes_key"]);
            string accessToken = (string)reader["access_token"];
            string jsApiTicket = (string)reader["js_api_ticket"];

            setting.AccessToken = JsonConvert.DeserializeObject <WillExpireData>(accessToken);
            setting.JsApiTicket = JsonConvert.DeserializeObject <WillExpireData>(jsApiTicket);
            return(setting);
        }
コード例 #5
0
        private async Task RegisterAsyncInternal(string appId, string appSecret, string appToken, string encodingAesKey)
        {
            var setting = await GetSettingAsync(appId);

            if (setting == null)
            {
                setting = new MessagePlatformSetting(appId, appSecret, appToken, encodingAesKey);
                await tokenRepository.SaveSettingAsync(setting);
            }
            else
            {
                setting.AppSecret      = appSecret;
                setting.AppToken       = appToken;
                setting.EncodingAesKey = encodingAesKey;
                await tokenRepository.SaveSettingAsync(setting);
            }
        }
コード例 #6
0
        private async Task SaveSettingAsyncInternal(MessagePlatformSetting setting)
        {
            using (var connection = database.GetConnection())
            {
                connection.Open();
                var command = connection.CreateCommand();
                var sql     = @"Update message_platform Set 
                            app_secret=@appSecret, 
                            app_token=@appToken,
                            encoding_aes_key=@encodingAesKey
                            Where app_id=@appId";
                command.CommandText = sql;
                command.Parameters.Add(setting.AppSecret);
                command.Parameters.Add(setting.AppToken);
                command.Parameters.Add(setting.EncodingAesKey);
                command.Parameters.Add(setting.AppId);
                await command.ExecuteNonQueryAsync();

                connection.Close();
            }
        }
コード例 #7
0
        private async Task <MessagePlatformSetting> GetSettingAsyncInternal(string appId)
        {
            MessagePlatformSetting setting = null;

            using (var connection = database.GetConnection())
            {
                connection.Open();
                var sql     = "Select * From message_platform Where app_id='" + appId + "'";
                var command = connection.CreateCommand();
                command.CommandText = sql;
                var reader = await command.ExecuteReaderAsync();

                while (reader.Read())
                {
                    setting = Map(reader);
                    break;
                }
                reader.Close();
                connection.Close();
            }
            return(setting);
        }
コード例 #8
0
 public Task SaveSettingAsync(MessagePlatformSetting setting)
 {
     return(SaveSettingAsyncInternal(setting));
 }
コード例 #9
0
 public void SaveSetting(MessagePlatformSetting setting)
 {
     SaveSettingAsyncInternal(setting).Wait();
 }