Exemplo n.º 1
0
        /// <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();
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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;
            }
        }