/// <summary>
 /// Interface implementation
 /// </summary>
 public ChangeSubscriptionType SubscribeOnCriteria(ChannelBaseType notificationChannel, SoegObjektType criteria)
 {
     using (EventBrokerDataContext dataContext = new EventBrokerDataContext())
     {
         /*
          * For now we assign this data type as a data change type.
          */
         Data.Subscription subscription = AddSubscription(dataContext, Data.SubscriptionType.SubscriptionTypes.DataChange /* May be changed later */, CprBroker.Engine.BrokerContext.Current.ApplicationId.Value, notificationChannel, new Guid[0], criteria);
         if (subscription != null)
         {
             subscription.DataSubscription = new DataSubscription();
         }
         dataContext.SubmitChanges();
         if (subscription != null)
         {
             // Now get the subscription from the database to make sure everything is OK
             return(GetActiveSubscriptionsList(subscription.SubscriptionId).SingleOrDefault() as ChangeSubscriptionType);
         }
     }
     return(null);
 }
        /// <summary>
        /// Interface implementation
        /// </summary>
        public BirthdateSubscriptionType SubscribeOnBirthdate(ChannelBaseType notificationChannel, Nullable <int> years, int priorDays, Guid[] personUuids)
        {
            using (EventBrokerDataContext dataContext = new EventBrokerDataContext())
            {
                Data.Subscription subscription = AddSubscription(dataContext, Data.SubscriptionType.SubscriptionTypes.Birthdate, CprBroker.Engine.BrokerContext.Current.ApplicationId.Value, notificationChannel, personUuids, null);
                if (subscription != null)
                {
                    subscription.BirthdateSubscription           = new BirthdateSubscription();
                    subscription.BirthdateSubscription.AgeYears  = years;
                    subscription.BirthdateSubscription.PriorDays = priorDays;
                }

                dataContext.SubmitChanges();
                if (subscription != null)
                {
                    // Now get the subscription from the database to make sure everything is OK
                    return(GetActiveSubscriptionsList(subscription.SubscriptionId).SingleOrDefault() as BirthdateSubscriptionType);
                }
            }
            return(null);
        }
Пример #3
0
 public static async Task <Statuses> UnsubscribeAsync(this IRecordingApi api, GoogleApiClient client, Data.Subscription subscription)
 {
     return((await api.Unsubscribe(client, subscription)).JavaCast <Statuses> ());
 }