public Subscription CreateSubscription(Member member, PassType passType, DateTime?beginning, SubscriptionType subscriptionType) { var subscription = Subscriptions.Create(); subscription.PassType = passType; Price subscriptionCost = this.Prices.Where( p => p.SubscriptionType == subscriptionType && p.PassType == passType).ToList().First(p => p.IsInAgeRange(member.Age)); if (subscriptionCost == null) { Console.WriteLine("Price for this subscriptionType, passType and range of age doesn't exist"); } subscription.SubscriptionName = subscriptionCost.ToString(); subscription.Beginning = beginning; subscription.Price = subscriptionCost; subscription.Member = member; subscription.Type = subscriptionType; Subscriptions.Add(subscription); member.Subscription.Add(subscription); return(subscription); }
public virtual bool Subscribe(Topic topic, ISubscriber subscriber) { var affectedSubscriptions = subscriptions.Create(topic, subscriber); return affectedSubscriptions.HasAny; }