コード例 #1
0
ファイル: UrlCache.cs プロジェクト: wuce7758/WxShopingMall
        public static bool UpdateDB()
        {//一次性打包更新
            try {
                var ScoreMapCach = ExtendMethord.GetScore().scoreMap;
                if (ScoreMapCach["ModifyFlag"] == 0)
                {
                    return(false);
                }
                var       temp = ScoreMapCach.Where(c => true);
                DbContext db   = DBContextFactory.CreateDbContext();

                //@刘剑_1989: 更新是这样的,
                //T existing = Context.Set<T>().Find
                //如果 existing == null, Context.Set<T>().Add(item);
                //否则, 将 item 的值赋给 existing(不包括主键的值),
                //最后,Context.SaveChanges

                foreach (var item_ in temp)
                {
                    var tempModels = db.Set <ExtensionAgents>().Where <ExtensionAgents>(c => c.GUID == item_.Key);
                    var Scores     = tempModels.Select(c => c.ExtensionScore).FirstOrDefault() + item_.Value;
                    foreach (var item in tempModels)
                    {
                        ExtensionAgents EA = db.Set <ExtensionAgents>().Find(item.ID);
                        if (EA != null)
                        {
                            EA.DelFlag                 = item.DelFlag;
                            EA.ExtensionScore          = Scores;
                            EA.ID                      = item.ID;
                            EA.GUID                    = item.GUID;
                            EA.LName                   = item.LName;
                            EA.Remark                  = item.Remark;
                            EA.RouteStatisticsLinks_ID = item.RouteStatisticsLinks_ID;
                            EA.ModifiedOn              = DateTime.Now;
                            EA.Sort                    = item.Sort;
                            EA.ExtensionUrl            = item.ExtensionUrl;
                            EA.SubTime                 = item.SubTime;
                            EA.UrlName                 = item.UrlName;
                        }
                        else
                        {
                            return(false);
                        }
                    }
                }
                db.SaveChanges();
                List <string> list = new List <string>();
                list.AddRange(ScoreMapCach.Keys);
                foreach (var item in list)
                {
                    ScoreMapCach[item] = 0;     //计数以后清空
                }
                ScoreMapCach["ModifyFlag"] = 0; // 修改位置为0
            }
            catch (Exception e)
            {
                return(false);
            }
            return(true);
        }
コード例 #2
0
ファイル: UrlCache.cs プロジェクト: wuce7758/WxShopingMall
        public bool ScoreCacheAddOne()
        {
            ScoreCache scoreCache = ExtendMethord.GetScore();

            if (scoreCache.scoreMap.ContainsKey(GuidName))
            {
                scoreCache.scoreMap[GuidName]     = scoreCache.scoreMap[GuidName] + 1;
                scoreCache.scoreMap["ModifyFlag"] = 1;
            }
            else
            {
                scoreCache.scoreMap[GuidName]     = 1;
                scoreCache.scoreMap["ModifyFlag"] = 1;
            }
            return(true);
        }