public async Task <IActionResult> New([FromBody] AirBooking airBooking) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (User.Identity.Name.Equals(airBooking.UserId.ToString()) || User.IsInRole("Admin")) { try { var user = await _userDB.User.SingleOrDefaultAsync(s => s.UserId.Equals(airBooking.UserId)); var detail = _context.AirDetail.Where(s => s.AirDetailId.Equals(airBooking.AirDetailId)) .Include(s => s.DropOff).ThenInclude(s => s.PickUp).Include(s => s.Taxi); _context.AirBooking.Add(airBooking); await _context.SaveChangesAsync(); // EmailAddress address = new EmailAddress(); var Return = airBooking.ReturnJourney.HasValue ? airBooking.ReturnJourney : null; var str = Return != null ? "ReturnTrip date: " + Return + "<br/>PayType: " + airBooking.PayType : "<br/>PayType: " + airBooking.PayType; EmailMessage message = new EmailMessage("AirTaxi Booking", "Hi " + user.Name + ",<br/><br/>" + "You have just booked for a taxi using our a web services, the full details of the booking are: <br/>" + detail.First().DropOff.PickUp.PickUp + "<br/>" + detail.First().DropOff.DropOff + "<br/>" + airBooking.TaxiName + "<br/>" + "Booked date for pickUp: " + airBooking.BookDate + str + "<br/>Number of passengers: " + airBooking.Passengers + "<br/>Total: R" + airBooking.Total + "<br/><br/>Kind Regards,<br/>Booking.com"); message.FromAddresses.Add(new EmailAddress("Booking.com", "*****@*****.**")); message.ToAddresses.Add(new EmailAddress(user.Name, user.Email)); new Send(message, _emailConfiguration) ; return(CreatedAtAction("GetFlBooking", new { id = airBooking.BookDate }, airBooking)); } catch (Exception ex) { Console.WriteLine(ex); return(Json("Internal error")); } } return(Unauthorized()); }
public async Task <IActionResult> PutAirBooking([FromRoute] int id, [FromBody] AirBooking airBooking) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != airBooking.BookingId) { return(BadRequest()); } _context.Entry(airBooking).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException uex) { if (!AirBookingExists(id)) { return(NotFound()); } else { throw uex; } } catch (Exception ex) { Console.WriteLine(ex); } return(NoContent()); }