Exemplo n.º 1
0
        public AdminsResponse GetGroupAministrators(string groupId, VkGroupType groupType)
        {
            Dictionary <string, string> parameters = new Dictionary <string, string> {
                { "act", "a_get_contacts" }, { "al", "1" }, { "oid", groupId }
            };
            string page = "/al_page.php";

            string         adminsPage = this.httpAccessor.GetPageByUriViaPost(CONST_VkDomain + page, parameters.ToUrlFormat());
            AdminsResponse response   = new AdminsResponse(adminsPage);

            return(response);
        }
        public void Process(DataFeed dataFeed, VkGroup group)
        {
            var          response           = new AdminsResponse(dataFeed.Feed);
            IList <long> adminIds           = response.AdminIds;
            var          savedAdministrator = this.groupRepository.GetAdminstrators(group.Id).ToDictionary(x => x.UserId);

            foreach (var adminId in adminIds)
            {
                if (!savedAdministrator.ContainsKey(adminId))
                {
                    Administrator admin = new Administrator()
                    {
                        UserId    = adminId,
                        VkGroupId = group.Id
                    };

                    this.log.DebugFormat("Administrator with UserId={0} is not found in database. Saving", adminId);
                    this.groupRepository.SaveAdministator(admin);
                }
            }
        }