public IHttpActionResult Get(string speakerName = null, string dayno = null, string keyword = null)
        {
            // Filter parameters are currently ignored

            var sessions = _dataService.SessionRepository.GetAll();

            return(SessionsLinkHelper.CreateResponse(sessions, _dataService, Request));
        }
        [Route("bykeyword")] //Links.SessionsSearch
        public IHttpActionResult GetSessionsByKeyword(string keyword)
        {
            var sessions = _dataService.SessionRepository.GetAll().Where(e => e.Description.Contains(keyword));

            // Empty list when not found

            return(SessionsLinkHelper.CreateResponse(sessions, _dataService, Request));
        }
Example #3
0
        public IHttpActionResult GetSessionsByTopic(int id)
        {
            var sessions = _dataService.SessionTopicRepository.GetAll()
                           .Where(s => s.TopicId == id)
                           .Select(sessiontopic => _dataService.SessionRepository.Get(sessiontopic.SessionId))
                           .ToList();

            return(SessionsLinkHelper.CreateResponse(sessions, _dataService, Request));
        }
        [Route("byspeakername")] //Links.SessionsSearch
        public IHttpActionResult GetSessionsBySpeakerName(string speakername)
        {
            var speaker = _dataService.SpeakerRepository.GetAll().FirstOrDefault(s => s.Name == speakername);

            if (speaker == null)
            {
                return(new NotFoundResult("Unknown speaker - " + speakername));
            }

            var sessions = _dataService.SessionRepository.GetAll().Where(e => e.SpeakerId == speaker.Id);

            return(SessionsLinkHelper.CreateResponse(sessions, _dataService, Request));
        }
        [Route("byday")] //Links.SessionsSearch
        public IHttpActionResult GetSessionsByDay(int dayno)
        {
            if (dayno > _dataService.TotalDays)
            {
                return(new BadRequestResult(new Tavis.ProblemDocument()
                {
                    ProblemType = new System.Uri("urn:conference:invalid-day"),
                    Title = string.Format("Day {0}  is after the end of the conference", dayno)
                }));
            }
            var sessions = _dataService.SessionRepository.GetSessionsByDay(dayno).ToList();

            return(SessionsLinkHelper.CreateResponse(sessions, _dataService, Request));
        }
Example #6
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);
        }
Example #8
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)));
        }
        [Route("byspeakerid")] //Links.SessionsSearch
        public IHttpActionResult GetSessionsBySpeaker(int speakerId)
        {
            var sessions = _dataService.SessionRepository.GetAll().Where(e => e.SpeakerId == speakerId);

            return(SessionsLinkHelper.CreateResponse(sessions, _dataService, Request));
        }
        public IHttpActionResult Get()
        {
            var sessions = _dataService.SessionRepository.GetAll();

            return(SessionsLinkHelper.CreateResponse(sessions, _dataService, Request));
        }
Example #11
0
        [Route("")] //Links.SessionsSearch
        public IHttpActionResult GetSessionsByDay(int dayno)
        {
            var sessions = _dataService.SessionRepository.GetSessionsByDay(dayno).ToList();

            return(SessionsLinkHelper.CreateResponse(sessions, _dataService, Request));
        }