private static SubscriptionHolder Deserialize(IReadOnlyDictionary <string, object> sd) { var instance = new SubscriptionHolder(sd.Get <int>(nameof(Value))); sd.ResolveReference <IDisposable>(nameof(Subscription), s => instance.Subscription = s); return(instance); }
public void PinnedOperatorsAreNotGarbageCollected() { var storage = new InMemoryStorageEngine(); var source = new Source <int>(); var valueHolder = new ValueHolder(); var stream = source.Do(valueHolder.SetValue).Pin(); var subscriptionHolder = new SubscriptionHolder(stream); source.Emit(25); valueHolder.Value.ShouldBe(25); subscriptionHolder.Value.ShouldBe(25); var store = ObjectStore.New(storage); store.Entangle(source); store.Entangle(valueHolder); store.Entangle(subscriptionHolder); store.Persist(); store = ObjectStore.Load(storage, true, new MockScheduler()); source = store.Resolve <Source <int> >(); valueHolder = store.Resolve <ValueHolder>(); subscriptionHolder = store.Resolve <SubscriptionHolder>(); source.Emit(100); valueHolder.Value.ShouldBe(100); subscriptionHolder.Value.ShouldBe(100); subscriptionHolder.Subscription.Dispose(); source.Emit(200); valueHolder.Value.ShouldBe(200); subscriptionHolder.Value.ShouldBe(100); store.Persist(); store = ObjectStore.Load(storage, true, new MockScheduler()); source = store.Resolve <Source <int> >(); valueHolder = store.Resolve <ValueHolder>(); subscriptionHolder = store.Resolve <SubscriptionHolder>(); source.Emit(300); valueHolder.Value.ShouldBe(300); subscriptionHolder.Value.ShouldBe(100); }
public ActionResult AddHolder() { CinemaViewModel model = (CinemaViewModel)TempData["model"]; if (model == null) { model = new CinemaViewModel(); } // Retrieve the input string email = Request["email"]; string address = Request["address"]; string city = Request["city"]; // Check if the required fields have been filled in if (email == "" || address == "" || city == "") { return(RedirectToAction("NewHolder", "SubscriptionHolder", new { error = "Vul a.u.b. alle verplichte velden in" })); } var context = new EFDbContext(); var newholder = new SubscriptionHolder() { Email = email, Address = address, City = city }; context.SubscriptionHolders.Add(newholder); context.SaveChanges(); return(RedirectToAction("NewHolder", "SubscriptionHolder", new { confirmation = "Uw gegevens zijn succesvol toegevoegd" })); }
public SubscriptionHolder GetHolder(string email, List <SubscriptionHolder> holders) { SubscriptionHolder foundHolder = holders.Where(h => h.Email == email).ToList()[0]; return(foundHolder); }