Пример #1
0
        public static List<String> Preparation()
        {
            List<ListFriends> ListFriendses = new List<ListFriends>();
            FriendsMapper friendsMapper = new FriendsMapper();
            ListFriendsMapper listFriendsMapper = new ListFriendsMapper();
            listFriendsMapper.deleteAllRecord();
            UserMapper userMapper = new UserMapper();
            List<User> users = new List<User>();
            List<String> allVkIDFriends = new List<String>();   // Все друзья всех пользователей
            IApi vkClient = new VKClient();

            users = userMapper.FindByAllRecord();
            foreach (var user in users)
            {
                String vkIDUser = user.GetVkId();
                List<String> vkIDFriends = new List<String>();  // Актуальный список друзей пользователя
                vkIDFriends.AddRange(vkClient.FriendsList(vkIDUser));
                friendsMapper.Insert(vkIDFriends);      // Заносим в БД актуальный список друщзей друзей

                foreach (var vkId in vkIDFriends)
                {
                    ListFriendses.Add(new ListFriends(user.GetId(), vkId)); // Заполнили таблицу для сервера
                }
                listFriendsMapper.Insert(ListFriendses);
                allVkIDFriends.AddRange(vkIDFriends); // Актуальный список друзей всех пользователей
            }
            List<String> uniqueVkIDFriends = new List<String>();
            uniqueVkIDFriends.AddRange(allVkIDFriends.Distinct().ToList()); // Уникальные записи о друзьях всех пользователей
            return uniqueVkIDFriends;
        }
Пример #2
0
 public static void FromUpdate(ListFriendsMapper listFriendsMapper)
 {
     UserMapper userMapper = new UserMapper();
     List<User> users = new List<User>();
     users.AddRange(userMapper.FindByAllRecord());
     Consumer consumer = new Consumer();
     while (listFriendsMapper.countAllRecord() > 0)
     {
         int vkIdFriend = Convert.ToInt32(consumer.Receive("FromUpdate"));
         listFriendsMapper.deleteRecord(vkIdFriend);
         foreach (var user in users)
         {
             int idUser = user.GetId();
             if (listFriendsMapper.countRecordForUser(idUser) == 0)
             {
                 ToTop(idUser);
             }
         }
     }
 }