public void UpdateCeoImage() { try { if ((ConfigurationManager.AppSettings["CeoImageAllowance"] ?? "") != "TRUE") return; var bfirstTime = true; //Thread.Sleep(index * 1000); var sql = new SqlDb(); var redis = new RedisClient(ConfigRedis.Host, ConfigRedis.Port); while (ServiceStarted) { try { if (!bfirstTime) Thread.Sleep(reportInterval); bfirstTime = false; sql.OpenDb(); var ldt = sql.GetAllLandProjects(); //var cdt = sql.GetAllCeos(); sql.CloseDb(); landImages = GetAllLandImages(); var keys = redis.SearchKeys(string.Format(RedisKey.BDSKey, "*", "*")); foreach(var key in keys) { var t = key.Substring(key.IndexOf(":tiendocode:"), key.IndexOf(":Object") - key.IndexOf(":tiendocode:")).Replace(":tiendocode:", ""); if (ldt.Select("MaTienDo = '" + t + "'").Length == 0) { redis.Remove(key); continue; } var o = redis.Get<TienDoBDS>(key); if(o==null) continue; var s = o.MaTienDo; if (string.IsNullOrEmpty(s)) continue; o.BDSImages = landImages.FindAll(i => i.ToUpper().StartsWith(s)); redis.Set(key, o); } ceoPhotos = GetCeoPhotos(); foreach (var photo in ceoPhotos) { if (!photo.Contains(".")) continue; var code = photo.Substring(0, photo.IndexOf(".")); if (redis.ContainsKey(string.Format(RedisKey.CeoImage, code))) { redis.Set(string.Format(RedisKey.CeoImage, code), photo); } else { redis.Add(string.Format(RedisKey.CeoImage, code), photo); } //var o = redis.Get<Ceo>(string.Format(RedisKey.CeoKey, code)); //if (o == null) continue; //o.CeoImage = photo; //redis.Set(string.Format(RedisKey.CeoKey, code), o); } var keywords = SqlDb.GetGoogleTag(-1); var ls = new List<string>(); foreach (DataRow keyword in keywords.Rows) { if(!ls.Contains(keyword["keyword"].ToString())) ls.Add(keyword["keyword"].ToString()); } //if (redis.ContainsKey(RedisKey.GoogleTag)) // redis.Set(RedisKey.GoogleTag, ls); //else // redis.Add(RedisKey.GoogleTag, ls); } catch (Exception ex) { log.WriteEntry("UpdateCeoImage - " + ex.ToString(), EventLogEntryType.Error); } } } catch (Exception ex) { log.WriteEntry("UpdateCeoImage - " + ex.ToString(), EventLogEntryType.Error); } }