Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        //
        // 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));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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"));
            }
        }
Exemplo n.º 5
0
 private Room AddRoomToBooking(BookingExt booking)
 {
     return(db.Rooms.Find(booking.RoomId));
 }