private Booking MapBookingExtToBooking(BookingExt bookingExt, List <int> productIds) { try { var contacts = AddContactsToBooking(bookingExt); if (contacts == null) { return(null); } var room = AddRoomToBooking(bookingExt); if (room == null) { return(null); } var bookingFinal = new Booking() { Title = bookingExt.Title, Description = bookingExt.Description, StartDate = bookingExt.StartDate, EndDate = bookingExt.EndDate, StartTime = bookingExt.StartTime, EndTime = bookingExt.EndTime, Host = "Jimmie Rindal", Contacts = contacts, Room = room }; if (bookingExt.MealOrderWanted) { var refreshments = AddRefreshmentsToMealOrder(productIds); var mealOrder = new MealOrder() { Booking = bookingFinal, NumberOfDiningGuests = bookingFinal.Contacts.Count(), DepartmentCharged = "Department", DepartmentCreditNumber = "000000", DishWishServedAt = DateTime.Now, Refreshments = refreshments, TotalPrice = refreshments.Sum(r => r.Product.Price), //TODO check Contact = db.Contacts.FirstOrDefault() //TODO get profile from session }; bookingFinal.MealOrder = mealOrder; } } catch (Exception) { throw; } return(null); }
// // GET: /Booking/Create public ActionResult Create() { ViewData["AllContacts"] = db.Contacts.ToList(); ViewData["AllRooms"] = db.Rooms.ToList(); ViewData["AllProducts"] = db.Products.ToList(); var booking = new BookingExt() { StartDate = DateTime.Now, EndDate = DateTime.Now }; return(View(booking)); }
private ICollection <Contact> AddContactsToBooking(BookingExt booking) { var contacts = new List <Contact>(); foreach (var contactId in booking.ContactIds) { var contact = db.Contacts.Find(contactId); if (contact != null) { contacts.Add(contact); } } return(contacts); }
public ActionResult AddBooking(BookingExt bookingExt, List <int> ProductIds) { try { var booking = MapBookingExtToBooking(bookingExt, ProductIds); db.Bookings.Add(booking); db.SaveChanges(); return(PartialView("AddContacts", booking.Contacts)); } catch (Exception e) { return(View("Create")); } }
private Room AddRoomToBooking(BookingExt booking) { return(db.Rooms.Find(booking.RoomId)); }