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);
      }
    }
示例#3
0
 public Task<bool> UpdateSubscriptionAsync(GroupMembership membership) {
   return  GroupMembershipServiceModel.UpdateUserSubscriptionAsync(PrimaryEmail, membership);
 }
示例#4
0
 public Task<bool> SubscribeToGroupAsync(GroupMembership membership) {
   return GroupMembershipServiceModel.SubscribeUserAsync(PrimaryEmail, membership);
 }