示例#1
0
        public async Task <IActionResult> PutShowtimeGroupAsync(int id, [FromBody] ShowtimeGroup UpdatedGroup)
        {
            if (id != UpdatedGroup.ShowtimeGroupID)
            {
                return(BadRequest());
            }
            Dictionary <string, string> errors = UpdatedGroup.Validate(_context);

            if (errors.Count == 0)
            {
                ShowtimeGroup group = await _context.ShowtimeGroups
                                      .Where(g => g.ShowtimeGroupID == id)
                                      .Include(g => g.ShowtimeGroupEntries)
                                      .ThenInclude(e => e.Showtimes)
                                      .Include(g => g.Movie)
                                      .SingleAsync();

                group.UpdateEntries(UpdatedGroup);
                await _context.SaveChangesAsync();

                group.Movie = null;
                foreach (ShowtimeGroupEntry entry in group.ShowtimeGroupEntries)
                {
                    entry.Showtimes = null;
                }
                return(Created($"api/movie/showtimegroups/{id}", group));
            }
            return(BadRequest(errors));
        }
示例#2
0
        public async Task <IActionResult> GetShowtimeGroupAsync(int id)
        {
            ShowtimeGroup showtimeGroup = await _context
                                          .ShowtimeGroups
                                          .Where(s => s.ShowtimeGroupID == id)
                                          .Include(s => s.ShowtimeGroupEntries)
                                          .ThenInclude(e => e.Room)
                                          .Include(s => s.ShowtimeGroupEntries)
                                          .ThenInclude(e => e.Experience)
                                          .FirstAsync();

            if (showtimeGroup != null)
            {
                return(Ok(showtimeGroup));
            }
            return(NotFound(new { general = "Invalid ID supplied." }));
        }
示例#3
0
        public async Task <IActionResult> DeleteShowtimeGroupAsync(int id)
        {
            ShowtimeGroup group = await _context.ShowtimeGroups.FindAsync(id);

            Dictionary <string, string> errors = new Dictionary <string, string>();

            if (group != null)
            {
                if (group.CanBeDeleted(_context, errors))
                {
                    _context.ShowtimeGroups.Remove(group);
                    await _context.SaveChangesAsync();

                    return(NoContent());
                }
                else
                {
                    return(BadRequest(errors));
                }
            }
            return(NotFound());
        }
示例#4
0
        public async Task <IActionResult> PostMovieShowtimesAsync(int id, [FromBody] ShowtimeGroup showtimeGroup)
        {
            if (showtimeGroup == null)
            {
                return(BadRequest(new { general = "There was an unexpected error. Try again later." }));
            }

            Dictionary <string, string> errors = showtimeGroup.Validate(_context);

            if (errors.Count == 0)
            {
                showtimeGroup.GenerateShowtimes(_context);
                _context.ShowtimeGroups.Add(showtimeGroup);
                await _context.SaveChangesAsync();

                showtimeGroup.Movie = null;
                foreach (ShowtimeGroupEntry entry in showtimeGroup.ShowtimeGroupEntries)
                {
                    entry.Showtimes = null;
                }
                return(CreatedAtRoute("GetShowtimeGroup", new { id = showtimeGroup.ShowtimeGroupID }, showtimeGroup));
            }
            return(BadRequest(errors));
        }