private static GroupMembershipServiceModel MapFrom(GroupMembership o) { if (o == null) { return null; } return new GroupMembershipServiceModel { GroupID = o.ID == 0 ? null : o.ID.ToString(), DetailsUrl = o.DetailsUrl, AlertByPhone = o.AlertByPhone, AlertByEmail = o.AlertByEmail, Role = o.Role }; }
internal static async Task<bool> UpdateUserSubscriptionAsync(string email, GroupMembership membership) { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Authorization = Credentials.BasicAuthHeader; var url = string.Format("https://www.getrave.com/remoteservices/rest/user/{0}/groups", email); var xml = Utils.SerializeXml(MapFrom(membership)); var r = await client.PutAsync(url, new StringContent(xml, Encoding.UTF8, "application/xml")); if (r.IsSuccessStatusCode) { return true; } throw new RaveServiceException(r); } }
public Task<bool> UpdateSubscriptionAsync(GroupMembership membership) { return GroupMembershipServiceModel.UpdateUserSubscriptionAsync(PrimaryEmail, membership); }
public Task<bool> SubscribeToGroupAsync(GroupMembership membership) { return GroupMembershipServiceModel.SubscribeUserAsync(PrimaryEmail, membership); }