//AccountInterface accountInterface;
 public SharedController(GameInterface iGame, CharacterInterface iChar, RestrictionsInterface iRest, EventInterface iEvent)
 {
     gameInterface = iGame;
     charInterface = iChar;
     restrictionsInterface = iRest;
     eventInterface = iEvent;
 }
        public List<SearchCharacterResult> AddEventRestrictionsToCharacterInfo(List<SearchCharacterResult> characters, Event eventInfo)
        {
            RestrictionsInterface restrictionsInterface = new RestrictionsInterface(LeetRaidsDB);
            foreach (SearchCharacterResult c in characters)
            {
                c.Restriction = restrictionsInterface.EnforceEventRestrictionOnCharacter(eventInfo, c.CharacterInfo);
            }

            return characters;
        }
        public List<MemFriend> GetFriendsForMemberWithEventRestrictions(int memberID, Event eventInfo)
        {
            CharacterInterface charInterface = new CharacterInterface(LeetRaidsDB);
            //EventInterface eventInterface = new EventInterface(LeetRaidsDB);

            List<MemFriend> friends = (from friend in LeetRaidsDB.MemFriends
                                                           where friend.MemberID == memberID
                                                           select friend).ToList();

            //Add in complete data
            foreach (MemFriend f in friends)
            {
                f.CompleteCharData = charInterface.GetCompleteCharacterByID(f.FriendCharacterID);
            }

            RestrictionsInterface restrictionInterface = new RestrictionsInterface(LeetRaidsDB);
            foreach (MemFriend friend in friends)
            {
                RestrictionReason restriction = restrictionInterface.EnforceEventRestrictionOnCharacter(eventInfo, friend.CompleteCharData);

                friend.Restricted = restriction.Restricted;
                friend.Reason = restriction.Restricted_Reason;
            }
                                       

            #region Old Filter which just removes user, doesn't say why

                                                           //select new MemFriendWithEventRestriction()
                                                           //{
                                                           //    MemberID = friend.MemberID,
                                                           //    AddDateTime = friend.AddDateTime,
                                                           //    FriendCharacterID = friend.FriendCharacterID,
                                                           //    HighlightOnList = false,
                                                           //    MemFriendsID = friend.MemFriendsID,
                                                           //    Note = friend.Note,
                                                           //}).ToList();
            //if (charFilter == null) { charFilter = new int[0]; }

            //List<MemFriend> friends = (from friend in LeetRaidsDB.MemFriends
            //                           join friendChar in LeetRaidsDB.MemCharacters on friend.FriendCharacterID equals friendChar.CharacterID
            //                           where friend.MemberID == memberID 
            //                           && friendChar.GameID == (gameIDFilter ?? friendChar.GameID)
            //                           && friendChar.ServerID == (serverIDFilter ?? friendChar.ServerID)
            //                           && !charFilter.Contains(friend.FriendCharacterID)
            //                           select friend).ToList();
            #endregion
            
            return friends;
        }