Пример #1
0
        public override bool TakeAction()
        {
            int totalDate = (ConfigEnvSet.GetInt("UserQueue.GuildMemberDel") * 60 * 60);
            var memberSet = new ShareCacheStruct <GuildMember>();
            List <GuildMember> memberArray = memberSet.FindAll(m => m.GuildID == guildID);
            GuildMember        userMember  = memberSet.FindKey(guildID, ContextUser.UserID);

            if (userMember != null && userMember.PostType == PostType.Chairman && memberArray.Count > 1)
            {
                ErrorCode = LanguageManager.GetLang().ErrorCode;
                ErrorInfo = LanguageManager.GetLang().St6010_Chairman;
                return(false);
            }
            if (userMember != null)
            {
                if (!string.IsNullOrEmpty(ContextUser.MercenariesID))
                {
                    memberSet.Delete(userMember);
                    ContextUser.MercenariesID = string.Empty;
                    //ContextUser.Update();
                    CombatHelper.RemoveGuildAbility(ContextUser);
                }
                var       guildSet  = new ShareCacheStruct <UserGuild>();
                UserGuild guildInfo = guildSet.FindKey(guildID);
                if (guildInfo != null && userMember.PostType == PostType.Chairman && memberArray.Count <= 1)
                {
                    guildSet.Delete(guildInfo);
                }

                List <UserQueue> queueArray = new PersonalCacheStruct <UserQueue>().FindAll(ContextUser.UserID, m => m.QueueType == QueueType.TuiChuGongHui);
                if (queueArray.Count > 0)
                {
                    UserQueue queue = queueArray[0];
                    queue.Timing        = DateTime.Now;
                    queue.TotalColdTime = totalDate;
                    queue.ColdTime      = totalDate;
                    //queue.Update();
                }
                else
                {
                    UserQueue userQueue = new UserQueue()
                    {
                        QueueID =
                            Guid.NewGuid().ToString(),
                        QueueName     = QueueType.TuiChuGongHui.ToString(),
                        QueueType     = QueueType.TuiChuGongHui,
                        TotalColdTime = totalDate,
                        ColdTime      = totalDate,
                        Timing        = DateTime.Now,
                        IsSuspend     = false,
                        UserID        = ContextUser.UserID
                    };
                    new PersonalCacheStruct <UserQueue>().Add(userQueue);
                }
            }
            return(true);
        }
Пример #2
0
        public override bool TakeAction()
        {
            GameUser    gameUser      = new PersonalCacheStruct <GameUser>().FindKey(memberID);
            var         guildCacheSet = new ShareCacheStruct <GuildMember>();
            GuildMember member        = guildCacheSet.FindKey(guildID, memberID);

            if (member != null)
            {
                if (string.IsNullOrEmpty(gameUser.MercenariesID))
                {
                    return(false);
                }
                guildCacheSet.Delete(member);
                //gameUser.UserLocation = Location.City;
                gameUser.MercenariesID = string.Empty;
                //gameUser.Update();
                CombatHelper.RemoveGuildAbility(gameUser);
            }
            int totalDate = (ConfigEnvSet.GetInt("UserQueue.GuildMemberDel") * 60 * 60);
            List <UserQueue> queueArray = new PersonalCacheStruct <UserQueue>().FindAll(memberID, m => m.QueueType == QueueType.TuiChuGongHui);

            if (queueArray.Count > 0)
            {
                //new UserQueue().ReLoadUser(memberID);
                queueArray = new PersonalCacheStruct <UserQueue>().FindAll(memberID, m => m.QueueType == QueueType.TuiChuGongHui);
            }
            if (queueArray.Count > 0)
            {
                UserQueue queue = queueArray[0];
                queue.Timing        = DateTime.Now;
                queue.TotalColdTime = totalDate;
                queue.ColdTime      = totalDate;
                //queue.Update();
            }
            else
            {
                UserQueue userQueue = new UserQueue()
                {
                    QueueID       = Guid.NewGuid().ToString(),
                    QueueName     = QueueType.TuiChuGongHui.ToString(),
                    QueueType     = QueueType.TuiChuGongHui,
                    TotalColdTime = totalDate,
                    ColdTime      = totalDate,
                    Timing        = DateTime.Now,
                    IsSuspend     = false,
                    UserID        = ContextUser.UserID
                };
                new PersonalCacheStruct <UserQueue>().Add(userQueue);
            }
            return(true);
        }