public APIResult<List<SubscriptionResult>> Subscriptions(GetSubscriptionsModel model) { try { if (model == null) throw new Exception("Please pass model"); using (var bo = new ApplicationBusinessObject()) { if (!bo.Check(model.ApplicationId, model.ApplicationSecretKey)) throw new Exception("Invalid application credentials"); } var eventKeys = new List<string>(); var providerKeys = new List<string>(); var userKeys = new List<string>(); if (!String.IsNullOrEmpty(model.EventKeys)) eventKeys = model.EventKeys.Split(',').ToList(); if (!String.IsNullOrEmpty(model.ProviderKeys)) providerKeys = model.ProviderKeys.Split(',').ToList(); if (!String.IsNullOrEmpty(model.ExternalUserIds)) userKeys = model.ExternalUserIds.Split(',').ToList(); using (var bo = new SubscriptionBusinessObject()) { var items = bo.GetList(model.ApplicationId, eventKeys, providerKeys, userKeys); var result = items.Select(x => new SubscriptionResult { EventKey = x.Event.Key, ProviderKey = x.Provider.Key, ExternalUserId = x.User.ExternalUserId }).ToList(); return new APIResult<List<SubscriptionResult>>(result); } } catch (Exception ex) { return new APIResult<List<SubscriptionResult>>(ex.Message, ex.ToString()); } }