コード例 #1
0
        public async Task <ModifyContactGroupMembersResponse> ContactGroupsMembersModify(string resourceName, IList <string> resourceNamesToAdd, IList <string> resourceNamesToRemove)
        {
            await AuthenticateAsync(new[] { PeopleServiceService.Scope.Contacts });

            var body = new ModifyContactGroupMembersRequest();

            body.ResourceNamesToAdd    = resourceNamesToAdd;
            body.ResourceNamesToRemove = resourceNamesToRemove;
            var request  = service.ContactGroups.Members.Modify(body, resourceName);
            var response = await request.ExecuteAsync();

            return(response);
        }
コード例 #2
0
        /// <summary>
        /// Add or remove contact from group.
        /// </summary>
        /// <param name="contactVM">View-model of contact.</param>
        /// <param name="groupName">Name of group.</param>
        /// <param name="needRemove">Remove flag.</param>
        public void ModifyContactGroup(ContactVM contactVM, string groupName, bool needRemove)
        {
            var group = Groups.FirstOrDefault(it => it.Name == groupName);

            var person = Persons.FirstOrDefault(it => it.ResourceName == contactVM.ResourceName);

            if (group == null || person == null)
            {
                return;
            }

            var modifyMembersRequest = new ModifyContactGroupMembersRequest();

            if (needRemove)
            {
                modifyMembersRequest.ResourceNamesToRemove = new List <string> {
                    person.ResourceName
                }
            }
            ;
            else
            {
                modifyMembersRequest.ResourceNamesToAdd = new List <string> {
                    person.ResourceName
                }
            };

            var request = PeopleService.ContactGroups.Members.Modify(modifyMembersRequest, group.ResourceName);

            try
            {
                request.Execute();
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
                return;
            }

            if (needRemove)
            {
                contactVM.GroupList.Remove(group.ResourceName);
            }
            else
            {
                contactVM.GroupList.Add(group.ResourceName);
            }

            GetGroups();
        }
コード例 #3
0
        public bool RemoveLabelFromContact(Contact contact, Label label)
        {
            if (!IsLoggedIn())
            {
                return(false);
            }

            var modifyContactGroupMembersRequest = new ModifyContactGroupMembersRequest
            {
                ResourceNamesToRemove = new List <string>
                {
                    contact.Id
                }
            };
            var peopleRequest = _service.ContactGroups.Members.Modify(modifyContactGroupMembersRequest, label.Id);

            peopleRequest.Execute();

            ReloadContacts();

            return(true);
        }