public async Task <ActionResult <UserFlights> > PostFlight([FromRoute] string icao) { var userId = _getUserId(User); var data = new UserFlights { User = userId, ICAO = icao }; _context.UserFlightTable.Add(data); await _context.SaveChangesAsync(); return(data); }
public async Task <IActionResult> Book(int?id) { if (id == null) { return(NotFound()); } // get the current flight and current user var currentUser = await ctx.Users.FindAsync(User.FindFirstValue(ClaimTypes.NameIdentifier)); var currentFlight = await ctx.Flights.FindAsync(id); // Create the Booking var userFlight = new UserFlights { User = currentUser, Flight = currentFlight }; if (userFlight != null) { ctx.UserFlights.Add(userFlight); // add the user flight to the db --currentFlight.FreeSeats; // assign the seat as reserved // Set the user as overbooked if (currentFlight.FreeSeats < 0) { var overbookedUser = new OverbookedUser { Flight = currentFlight, Email = currentUser.Email }; ctx.OverbookedUsers.Add(overbookedUser); } await ctx.SaveChangesAsync(); // save changes to db } return(View(userFlight)); }
public void RemoveFlight(UserFlight userFlight) { UserFlights.Remove(userFlight); }
public void AddFlight(UserFlight userFlight) { UserFlights.Add(userFlight); }