예제 #1
0
        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());
        }
예제 #2
0
        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());
        }
예제 #3
0
        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());
        }