Exemplo n.º 1
0
        public static List <InGameGuildInfo> ToGuildInfoList(this IEnumerable <HeroesGuildInfo> list)
        {
            List <InGameGuildInfo> list2 = new List <InGameGuildInfo>();

            foreach (HeroesGuildInfo groupInfo in list)
            {
                InGameGuildInfo inGameGuildInfo = groupInfo.ToGuildInfo();
                if (inGameGuildInfo != null)
                {
                    list2.Add(new InGameGuildInfo(inGameGuildInfo));
                }
            }
            return(list2);
        }
Exemplo n.º 2
0
        public static InGameGuildInfo ToGuildInfo(this HeroesGuildInfo groupInfo)
        {
            InGameGuildInfo result = null;

            try
            {
                HeroesDataContext heroesDataContext = new HeroesDataContext();
                int maxMemberLimit = heroesDataContext.GetMaxMemberLimit(groupInfo.GuildSN);
                if (FeatureMatrix.IsEnable("NewbieGuildRecommend"))
                {
                    GetInGameGuildInfo guildInfo   = heroesDataContext.GetGuildInfo(groupInfo.GuildSN);
                    int      guildLevel            = 1;
                    long     guildPoint            = 0L;
                    DateTime guildLastDailyGPReset = heroesDataContext.GetGuildLastDailyGPReset(groupInfo.GuildSN);
                    Dictionary <byte, int> dailyGainGP;
                    if (FeatureMatrix.IsEnable("GuildLevel"))
                    {
                        guildLevel = guildInfo.Level;
                        guildPoint = guildInfo.Exp;
                        DateTime prevDailyGPResetTime = GuildContents.GetPrevDailyGPResetTime();
                        if (guildLastDailyGPReset >= prevDailyGPResetTime)
                        {
                            dailyGainGP = heroesDataContext.GetGuildDailyGainGP(groupInfo.GuildSN);
                        }
                        else
                        {
                            dailyGainGP = new Dictionary <byte, int>();
                            heroesDataContext.ResetInGameGuildDailyGainGP(groupInfo.GuildSN);
                        }
                    }
                    else
                    {
                        dailyGainGP = new Dictionary <byte, int>();
                    }
                    result = new InGameGuildInfo(groupInfo.GuildSN, groupInfo.GuildName, guildLevel, groupInfo.RealUserCount, groupInfo.NameInGroup_Master, maxMemberLimit, guildInfo.NewbieRecommend, guildPoint, guildInfo.Notice, dailyGainGP);
                }
                else
                {
                    result = new InGameGuildInfo(groupInfo.GuildSN, groupInfo.GuildName, 1, groupInfo.RealUserCount, groupInfo.NameInGroup_Master, maxMemberLimit);
                }
            }
            catch (Exception ex)
            {
                Log <GuildAPI> .Logger.ErrorFormat("Exception occured in GuildAPI_Extension::ToGuildInfo( GroupInfo ) : {0}", ex.ToString());

                return(null);
            }
            return(result);
        }