예제 #1
0
        public ActionResult GetEventsBySeries([FromRoute] int id)
        {
            var db = new GPCalAPIContext();

            return(Ok(db.Events
                      .Include(i => i.Series).Where(w => w.SeriesId == id)));
        }
예제 #2
0
        public ActionResult GetEventsByUser()
        {
            var db     = new GPCalAPIContext();
            var userId = User.Claims.First(f => f.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier").Value;

            var userSeriesId = db.UserPref
                               .Include(i => i.Series)
                               .Where(w => w.UserId == userId)
                               .Select(s => s.SeriesId);

            var rv = db.Events
                     .Include(i => i.Series)
                     .Where(w => userSeriesId.Any(a => a == w.SeriesId))
                     .OrderBy(o => o.DateAndTime)
                     .Select(s => new UserSeries(s, s.Series));

            return(Ok(rv));

            // return Ok(db.UserPref
            //           .Include(i => i.Series)
            //           .Include(i => i.Series.Events)
            //           .Where(w => w.UserId == userId)
            //           .ToList()
            //           .SelectMany(s => s.Series.Events.Select(ent => new UserSeries(ent, s.Series))));


            //.OrderBy(o => o.EventTime));
        }
예제 #3
0
        public ActionResult GetSeriesByUser()
        {
            var db     = new GPCalAPIContext();
            var userId = User.Claims.First(f => f.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier").Value;

            return(Ok(db.UserPref
                      .Where(w => w.UserId == userId)
                      ));
        }
예제 #4
0
        public ActionResult <UserPref> Delete([FromRoute] int seriesId)
        {
            var db          = new GPCalAPIContext();
            var userId      = User.Claims.First(f => f.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier").Value;
            var currentPref = db.UserPref.FirstOrDefault(f => f.UserId == userId && f.SeriesId == seriesId);

            db.UserPref.Remove(currentPref);
            db.SaveChanges();
            return(Ok(new { currentPref, seriesId }));
        }
예제 #5
0
        public ActionResult <UserPref> Post([FromBody] UserPref followed)
        {
            var db     = new GPCalAPIContext();
            var userId = User.Claims.First(f => f.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier").Value;

            followed.UserId = userId;
            db.UserPref.Add(followed);
            db.SaveChanges();
            return(Ok(followed));
        }
예제 #6
0
        public ActionResult GetSeries()
        {
            var db = new GPCalAPIContext();

            return(Ok(db.Series));
        }
예제 #7
0
        public ActionResult GetEvents()
        {
            var db = new GPCalAPIContext();

            return(Ok(db.Events.Include(i => i.Series)));
        }