Exemplo n.º 1
0
 public static void ClearAccessTokenCache()
 {
     using (WechatDBDataContext database = new WechatDBDataContext())
     {
         database.AccessTokens.DeleteAllOnSubmit(database.AccessTokens);
         database.SubmitChanges();
     }
 }
Exemplo n.º 2
0
 internal static void WriteLog(string logContent, DateTime logTime)
 {
     using (WechatDBDataContext db = new WechatDBDataContext(Settings.Default.WechatDBConnectionString))
     {
         WechatLog log = new WechatLog();
         log.LogContent = logContent;
         log.LogTime    = logTime;
         db.WechatLogs.InsertOnSubmit(log);
         db.SubmitChanges();
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// Cache Access Token to wechat database
 /// </summary>
 /// <param name="token">Access Token to be saved</param>
 internal static void SaveAccessTokenToDatabaseCache(WechatAccessToken token)
 {
     using (WechatDBDataContext database = new WechatDBDataContext())
     {
         AccessToken accessTokenEntity = new AccessToken();
         accessTokenEntity.AccessTokenData = token.AccessTokenData;
         accessTokenEntity.ExpireBy        = DateTime.UtcNow.AddSeconds(AccessTokenSafeExpire);
         database.AccessTokens.InsertOnSubmit(accessTokenEntity);
         database.SubmitChanges();
     }
 }
Exemplo n.º 4
0
 public static void WriteMessageLog(WechatBaseMessage message, MessageDirection direction, string rawData)
 {
     using (WechatDBDataContext db = new WechatDBDataContext(Settings.Default.WechatDBConnectionString))
     {
         WechatMessage data = new WechatMessage();
         data.CreateTime   = message.CreateTime;
         data.FromUserName = message.FromUserName;
         data.MsgType      = message.MsgType;
         data.Direction    = direction.ToString();
         data.ToUserName   = message.ToUserName;
         data.RawData      = rawData;
         db.WechatMessages.InsertOnSubmit(data);
         db.SubmitChanges();
     }
 }
Exemplo n.º 5
0
 /// <summary>
 /// Load Cached Access Token from wechat database
 /// </summary>
 /// <param name="token">Cached Access Token</param>
 internal static string LoadAccessTokenFromDatabaseCache()
 {
     using (WechatDBDataContext database = new WechatDBDataContext())
     {
         AccessToken token = database.AccessTokens.OrderByDescending(t => t.ExpireBy).FirstOrDefault();
         if (token == null)
         {
             return(null);
         }
         else
         {
             if (token.ExpireBy <= DateTime.UtcNow)
             {
                 return(null);
             }
             return(token.AccessTokenData);
         }
     }
 }