示例#1
0
        public IHttpActionResult Get(int dayno)
        {
            var topics = _dataService.SessionRepository.GetSessionsByDay(dayno)
                         .SelectMany(s => _dataService.SessionTopicRepository.GetTopicsBySession(s.Id))
                         .Select(st => st.TopicId).Distinct().Select(s => _dataService.TopicRepository.Get(s));

            return(TopicsLinkHelper.GetResponse(topics, Request));
        }
        public IHttpActionResult GetTopicsBySession(int id)
        {
            var topics = _dataService.SessionTopicRepository.GetTopicsBySession(id)
                         .Select(st => st.TopicId)
                         .Distinct()
                         .Select(t => _dataService.TopicRepository.Get(t));

            return(TopicsLinkHelper.GetResponse(topics, Request));
        }
        public IHttpActionResult GetTopicsBySpeaker(int id)
        {
            var topics = _dataService.SessionRepository.GetAll()
                         .Where(s => s.SpeakerId == id)
                         .SelectMany(s => _dataService.SessionTopicRepository.GetTopicsBySession(s.Id))
                         .Select(st => st.TopicId)
                         .Distinct()
                         .Select(t => _dataService.TopicRepository.Get(t));

            return(TopicsLinkHelper.GetResponse(topics, Request));
        }
        public IHttpActionResult GetTopicsBySession(int id)
        {
            if (!_dataService.SessionRepository.Exists(id))
            {
                return(new Tools.NotFoundResult("Session not found"));
            }

            var topics = _dataService.SessionTopicRepository.GetTopicsBySession(id)
                         .Select(st => st.TopicId)
                         .Distinct()
                         .Select(t => _dataService.TopicRepository.Get(t));

            return(TopicsLinkHelper.GetResponse(topics, Request));
        }
示例#5
0
        public IHttpActionResult Get()
        {
            var home = new HomeDocument();

            home.AddResource(TopicsLinkHelper.CreateLink(Request).WithHints());
            home.AddResource(DaysLinkHelper.CreateLink(Request).WithHints());
            home.AddResource(SessionsLinkHelper.CreateLink(Request).WithHints());
            home.AddResource(SpeakersLinkHelper.CreateLink(Request).WithHints());

            return(new OkResult(Request)
                   .WithCaching(new CacheControlHeaderValue()
            {
                MaxAge = new TimeSpan(0, 0, 60)
            })
                   .WithContent(new HomeContent(home)));
        }
        private Collection CreateCollection(TimeSpan duration)
        {
            var daysCollection = new Collection();

            for (int i = 1; i < duration.TotalDays; i++)
            {
                var item = new Item();

                item.Data.Add(new Data {
                    Name = "Day", Value = i.ToString()
                });
                item.Links.Add(SessionsLinkHelper.CreateLink(Request, dayno: i).ToCJLink());
                item.Links.Add(SpeakersLinkHelper.CreateLink(Request, dayno: i).ToCJLink());
                item.Links.Add(TopicsLinkHelper.CreateLink(Request, dayno: i).ToCJLink());
                daysCollection.Items.Add(item);
            }
            return(daysCollection);
        }
示例#7
0
        public IHttpActionResult Get()
        {
            //var explorer = new ApiExplorer(Configuration);
            //var descriptions = explorer.ApiDescriptions;

            //return new OkResult(Request).WithContent(new StringContent(String.Join("\n",descriptions.Select(d=> d.ID).ToArray())));

            var home = new HomeDocument();

            home.AddResource(TopicsLinkHelper.CreateLink(Request).WithHints());
            home.AddResource(DaysLinkHelper.CreateLink(Request).WithHints());
            home.AddResource(SessionsLinkHelper.CreateLink(Request).WithHints());
            home.AddResource(SpeakersLinkHelper.CreateLink(Request).WithHints());

            return(new OkResult(Request)
                   .WithCaching(new CacheControlHeaderValue()
            {
                MaxAge = new TimeSpan(0, 0, 60)
            })
                   .WithContent(new HomeContent(home)));
        }
示例#8
0
        public IHttpActionResult Get()
        {
            var topics = _dataService.TopicRepository.GetAll();

            return(TopicsLinkHelper.GetResponse(topics, Request));
        }