public async Task <IActionResult> Post() { var body = new StreamReader(Request.Body).ReadToEnd(); var json = JsonConvert.DeserializeAnonymousType(body, new { date = "", movieId = 1 }); var startDate = DateTime.Parse(json.date); var movie = _context.Movies.Single(m => m.Id == json.movieId); var endDate = startDate.AddMinutes(movie.Duration); var results = from r in _context.Screenings where r.Date.CompareTo(endDate) < 0 && startDate.CompareTo(r.Date.AddMinutes(r.Movie.Duration)) < 0 select r; if (results.Count() != 0) { Response.StatusCode = 400; return(Content("Invalid date")); } var screening = new Screening { Movie = movie, Date = startDate }; await _context.Screenings.AddAsync(screening); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <IActionResult> Post() { var body = new StreamReader(Request.Body).ReadToEnd(); var json = JsonConvert.DeserializeAnonymousType(body, new { title = "", duration = 1 }); var movie = new Movie { Title = json.title, Duration = json.duration }; await _context.Movies.AddAsync(movie); await _context.SaveChangesAsync(); return(Ok()); }
public async Task <IActionResult> Post() { var body = new StreamReader(Request.Body).ReadToEnd(); var json = JsonConvert.DeserializeAnonymousType(body, new { screeningId = 1, userId = "", seat = "" }); var result = from t in _context.Tickets where t.Seat == json.seat && t.Screening.Id == json.screeningId select t; if (result.Count() > 0) { Response.StatusCode = 400; return(Content("Bad seat")); } var ticket = new Ticket { Screening = _context.Screenings.Single(m => m.Id == json.screeningId), UserId = json.userId, Seat = json.seat }; await _context.Tickets.AddAsync(ticket); await _context.SaveChangesAsync(); return(Ok()); }