/// <summary> /// 本来应该是可以更新SumScore字段的啊,但是为什么有的时候不能呢? /// 添加子表的时候,已经顺便更新了主表中的sumscore字段 /// </summary> /// <param name="subRelay"></param> public static void AddSubRelay(Activity_SubRelay subRelay) { ipowdb_suibian_webDataContext db = ConnHelper.ipowdb_suibian_web(); db.Activity_SubRelay.InsertOnSubmit(subRelay); Activity_Relay relay = db.Activity_Relay.FirstOrDefault(s => s.Id == subRelay.RelayId); if (relay == null) throw new Exception("添加subRelay时查找Activity_Relay为空"); //更新主表sumscore字段 relay.SumScore = GetSumScoreById(relay.Id) + subRelay.Score; relay.IsGameOver = GetHelps(relay).Count() + 1 >= ActivityConfig.MHalloweenTotalPerson; relay.EditTime = DateTime.Now; db.SubmitChanges(); }
private int AddDb() { UserChengji userChengji = SessionHelp.UserChengji; UserData userData = SessionHelp.UserData; try { if (userChengji.IsHelp) //根据IsHelp选择插入到那个数据库中 { var subrelay = new Activity_SubRelay { AddTime = DateTime.Now, ClickNum = userChengji.ClickNum, RelayId = userChengji.RelayId, Score = userChengji.Score, WeixinUserId = userData.WeixinUserId, }; RelayQuery.AddSubRelay(subrelay); return userChengji.RelayId; } else { ipowdb_suibian_webDataContext db = ConnHelper.ipowdb_suibian_web(); var relay = db.Activity_Relay.FirstOrDefault(s => s.Id == SessionHelp.UserChengji.FirstAddRelayId); relay.AddTime = DateTime.Now; relay.ClickNum = userChengji.ClickNum; relay.Score = userChengji.Score; relay.SumScore = userChengji.Score; relay.WeixinUserId = userData.WeixinUserId; relay.CycleId = SessionHelp.CycleId; relay.EditTime = DateTime.Now; db.SubmitChanges(); //封装这个真的有意义了吗? return relay.Id; } } finally //不论失败与否,都是添加成功,然后第二次不能再添加 { userChengji.IsAddedToDb = true; } }
private int AddDb() { UserChengji userChengji = SessionHelp.UserChengji; UserData userData = SessionHelp.UserData; try { if (userChengji.IsHelp) //根据IsHelp选择插入到那个数据库中 { var subrelay = new Activity_SubRelay { AddTime = DateTime.Now, ClickNum = userChengji.ClickNum, RelayId = userChengji.RelayId, Score = userChengji.Score, WeixinUserId = userData.WeixinUserId, }; RelayQuery.AddSubRelay(subrelay); return userChengji.RelayId; } else { var relay = new Activity_Relay { AddTime = DateTime.Now, ClickNum = userChengji.ClickNum, Score = userChengji.Score, SumScore = userChengji.Score, WeixinUserId = userData.WeixinUserId, CycleId = SessionHelp.CycleId, SponsorId = SessionHelp.SponsorId == 0 ? null : SessionHelp.SponsorId, EditTime = DateTime.Now }; RelayQuery.AddRelay(relay); return relay.Id; } } finally //不论失败与否,都是添加成功,然后第二次不能再添加 { userChengji.IsAddedToDb = true; } }