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); }
/// <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(); }
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); }