private static void UpdatePlayersToInvite(Raid raid, List <Encounter> encounters)
 {
     raid.ToInvite = encounters
                     .SelectMany(e => e.Players)
                     .Distinct()
                     .Where(p => p.Type == PlayerType.INVITEABLE)
                     .Select(p => raid.GetInviteable(p.AccountName))
                     .ToList();
 }
        private static void ApplyCache(List <CheckPlayer> players, RaidOrgaPlusCache playerCache, Raid r)
        {
            foreach (var p in players)
            {
                if (p.Player.Type != PlayerType.MEMBER)
                {
                    var becomesID = playerCache.Get(r.RaidID, p.Player.AccountName);
                    switch (becomesID)
                    {
                    case -1:     //Not in cache
                        break;

                    case 1:     //LFG
                        p.BecomesAccount = null;
                        p.BecomesType    = PlayerType.LFG;
                        break;

                    default:     //Knowen Account
                        if (r.IsMember(becomesID))
                        {
                            p.BecomesAccount = r.GetMember(becomesID);
                            p.BecomesType    = PlayerType.MEMBER;
                        }
                        else if (r.IsInviteable(becomesID))
                        {
                            p.BecomesAccount = r.GetInviteable(becomesID);
                            p.BecomesType    = PlayerType.INVITEABLE;
                        }
                        else if (r.IsHelper(becomesID))
                        {
                            p.BecomesAccount = r.GetHelper(becomesID);
                            p.BecomesType    = PlayerType.HELPER;
                        }
                        break;
                    }
                }
            }
        }