Exemplo n.º 1
0
        private void Button_OnClicked(object sender, RoutedEventArgs e)
        {
            string text = string.Format("\r\n\r\nvar result=API.groups.{0}({{group_id:{1}}});;\r\nif (result==1)\r\n{{\r\n    var invitations=API.groups.getInvites({{count:1,\"fields\":\"members_count\"}});\r\n\r\n    var first_invitation_community=null;\r\n    var first_invitation_inviter=null;\r\n\r\n    if (invitations.items.length>0)\r\n    {{\r\n        first_invitation_community=invitations.items[0];\r\n        first_invitation_inviter=API.users.get({{user_ids:first_invitation_community.invited_by,fields:\"sex\"}})[0];\r\n    }}\r\n\r\n    return\r\n    {{\r\n        \"count\":invitations.count,\r\n        \"first_invitation\":\r\n        {{\r\n            \"community\":first_invitation_community,\r\n            \"inviter\":first_invitation_inviter\r\n        }}\r\n    }};\r\n}}\r\nreturn 0;\r\n\r\n", (sender == this.JoinButton) ? "join" : "leave", this._model.community.id);
            CommunityInvitation model = this.Model;
            Action <BackendResult <CommunityInvitations, ResultCode> > callback = delegate(BackendResult <CommunityInvitations, ResultCode> result)
            {
                Execute.ExecuteOnUIThread(delegate
                {
                    if (result.ResultCode == ResultCode.Succeeded)
                    {
                        CommunityInvitations resultData = result.ResultData;
                        model.InvitationHandledAction.Invoke(resultData);
                        CountersManager.Current.Counters.groups = resultData.count;
                        EventAggregator.Current.Publish(new CountersChanged(CountersManager.Current.Counters));
                    }
                    PageBase.SetInProgress(false);
                });
            };

            PageBase.SetInProgress(true);
            string arg_7C_0 = "execute";
            Dictionary <string, string> expr_62 = new Dictionary <string, string>();

            expr_62.Add("code", text);
            VKRequestsDispatcher.DispatchRequestToVK <CommunityInvitations>(arg_7C_0, expr_62, callback, null, false, true, default(CancellationToken?), null);
        }
Exemplo n.º 2
0
 public void Handle(GroupMembershipStatusUpdated message)
 {
     Execute.ExecuteOnUIThread((Action)(() =>
     {
         CommunityInvitation communityInvitation = this._invitationsVM.Collection.FirstOrDefault <CommunityInvitation>((Func <CommunityInvitation, bool>)(gh => gh.community.id == message.GroupId));
         if (communityInvitation == null)
         {
             return;
         }
         this.InvitationsVM.Delete(communityInvitation);
     }));
 }
Exemplo n.º 3
0
        private void UpdateDataView(CommunityInvitation model)
        {
            this._model = model;
            this.InvitationName.Text = model.community.name;
            ImageLoader.SetUriSource(this.InvitationPhoto, model.community.photo_100);
            int membersCount = model.community.members_count;

            if (model.community.type != "public")
            {
                this.InvitationMembersCount.Text = (UIStringFormatterHelper.FormatNumberOfSomething(membersCount, CommonResources.OneMemberFrm, CommonResources.TwoFourMembersFrm, CommonResources.FiveMembersFrm, true, null, false));
            }
            else
            {
                this.InvitationMembersCount.Text = (UIStringFormatterHelper.FormatNumberOfSomething(membersCount, CommonResources.OneSubscriberFrm, CommonResources.TwoFourSubscribersFrm, CommonResources.FiveSubscribersFrm, true, null, false));
            }
            this.InvitationInviterSex.Text  = ((model.inviter.sex != 1 ? CommonResources.Communities_InvitationByM : CommonResources.Communities_InvitationByF) + " ");
            this.InvitationInviterName.Text = model.inviter.Name;
        }
Exemplo n.º 4
0
        public void UpdateDataView(CommunityInvitationsList invitationsList)
        {
            CommunityInvitation first_invitation = null;

            if (Enumerable.Any <Group>(invitationsList.invitations))
            {
                User inviter = Enumerable.First <User>(invitationsList.inviters, (User i) => i.id == Enumerable.First <Group>(invitationsList.invitations).invited_by);
                first_invitation = new CommunityInvitation
                {
                    community = Enumerable.First <Group>(invitationsList.invitations),
                    inviter   = inviter
                };
            }
            this.UpdateDataView(new CommunityInvitations
            {
                count            = invitationsList.count,
                first_invitation = first_invitation
            });
        }