/// <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); }
public static async Task <Statuses> UnsubscribeAsync(this IRecordingApi api, GoogleApiClient client, Data.Subscription subscription) { return((await api.Unsubscribe(client, subscription)).JavaCast <Statuses> ()); }