public IHttpActionResult UserAccountBooking(UserAccountBookingDTO booking) // BOOKING WITH USER ACCOUNT, NOT FINISHED { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } TextResult httpResponse = new TextResult("", msg); SeatManager smgr = new SeatManager(); CustomerManager cmgr = new CustomerManager(); BookingManager bmgr = new BookingManager(); UserAccountsManager umgr = new UserAccountsManager(); DateTime currentDate = DateTime.Now; string token = umgr.CreateToken(booking.AccountName); var loginOk = umgr.CheckIfUserIsLoggedIn(booking.LoginToken, token); // token passed from frontend to check if user is logged in, token variabel content? if (loginOk.Equals(false)) { httpResponse.ChangeHTTPMessage("User is not logged in!", msg); return(httpResponse); } ; var convertedForDate = bmgr.DateTimeConverter(booking.BookingForDate); // Converting dates into DateTime objects if (convertedForDate.Equals(null)) // checking if date input is valid { httpResponse.ChangeHTTPMessage("Date input is not correct!", msg); return(httpResponse); } ; int?allSeatsId = smgr.GetSeatPlacementId(booking.RowNumber, booking.SeatNumber); // Gets the allSeatsId from AllSeats from row and seatnumber int bookingId = smgr.CheckIfSeatIsTaken(convertedForDate, allSeatsId); // checks if seat is taken, returns bookingId if (bookingId != 0) { httpResponse.ChangeHTTPMessage("That seat is taken!", msg); // http response if seat is taken return(httpResponse); } var custId = umgr.GetCustomerIdFromUserAccountName(booking.AccountName); var email = cmgr.GetCustomerEmailFromAccountName(custId); var bookingEntity = bmgr.UserAccountBooking(allSeatsId, custId, convertedForDate, currentDate); db.Bookings.Add(bookingEntity); db.SaveChanges(); httpResponse.ChangeHTTPMessage("Booking has been made!", msg); // HTTP response if fails to savechanges to DB return(httpResponse); }