示例#1
0
        public List<ClientView> GetClients()
        {
            using (var views = new EntileViews())
            {
                var clients = (from c in views.ClientViews.Include("Subscriptions.ExtendedInformation")
                              select c);

                return clients.ToList();
            }
        }
示例#2
0
        public ClientView GetClient(GetClientQuery query)
        {
            using (var views = new EntileViews())
            {
                var client = (from c in views.ClientViews.Include("Subscriptions.ExtendedInformation")
                              where c.ClientId == query.ClientId
                              select c);

                return client.SingleOrDefault();
            }
        }
示例#3
0
        public SubscriptionView GetSubscription(GetSubscriptionQuery query)
        {
            using (var views = new EntileViews())
            {
                var client = (from c in views.ClientViews.Include("Subscriptions.ExtendedInformation")
                              where c.ClientId == query.ClientId
                              select c).SingleOrDefault();

                if (client == null)
                    return null;

                return client.Subscriptions.Where(s => s.SubscriptionId == query.SubscriptionId).SingleOrDefault();
            }
        }
        public List<SubscriptionView> ListSubscriptions(ListSubscriptionsQuery query)
        {
            using (var views = new EntileViews())
            {
                var subs = views.ClientViews.SelectMany(c => c.Subscriptions);

                foreach (var m in query.Match)
                {
                    var m1 = m;
                    if (m1.Value != null)
                    {
                        subs = subs.Where(s => s.ExtendedInformation.Any(ei => ei.Key == m1.Key && ei.Value == m1.Value));
                    }
                    else
                    {
                        subs = subs.Where(s => s.ExtendedInformation.Any(ei => ei.Key == m1.Key));
                    }
                }

                return subs.ToList();
            }
        }