// GET: Admin/Home public ActionResult Index() { double totalEarning = 0; var book = _booksManagement.Get(d => d.ID == 7); var booksList = _booksManagement.GetAll(b => DateTime.Equals(b.ArrivalDate, DateTime.Today) && !b.IsCancelled && !b.IsCheckIn).OrderBy(m => m.BookingDate).ToList(); var allBooksList = _booksManagement.GetAll(d => !d.IsCancelled).ToList(); foreach (var item in allBooksList) { totalEarning += ((float)item.Price * (1 - item.Discount) * item.Night); } HomeViewModel model = new HomeViewModel { ContactFormsList = _contactFormsManagement.GetAll().OrderByDescending(m => m.SendedAt).Take(8).ToList(), BooksList = booksList.ToList(), CustomerCount = _customersManagement.GetAll().Count(), BookingCount = _booksManagement.GetAll().Count(), RoomCount = _roomsManagement.GetAll().Count(), TotalEarning = totalEarning, RoomTypeList = _roomTypesManagement.GetAll().ToList(), TestimonialList = _testimonialsManagement.GetAll(t => t.IsShow == true).OrderBy(t => t.OrderSort).ToList() }; return(View(model)); }
// GET: Admin/ReservationManagement public ActionResult Index() { ShowReservationViewModel model = new ShowReservationViewModel { BookList = _booksManagement.GetAll(b => b.DepartureDate == null).OrderBy(b => b.ArrivalDate).ToList(), OldBookList = _booksManagement.GetAll(b => b.DepartureDate != null).OrderBy(b => b.ArrivalDate).ToList() }; return(View(model)); }
public ActionResult NewCustomer(int?id) { NewCustomerViewModel model = new NewCustomerViewModel(); model.GenderList = EnumHelpers.ConvertEnumToList(typeof(Genders)); List <string> CountryList = new List <string>(); CultureInfo[] CInfoList = CultureInfo.GetCultures(CultureTypes.SpecificCultures); foreach (CultureInfo CInfo in CInfoList) { RegionInfo R = new RegionInfo(CInfo.LCID); if (!(CountryList.Contains(R.EnglishName))) { CountryList.Add(R.EnglishName); } } CountryList.Sort(); ViewBag.CountryList = CountryList; if (id == null) { model.Customer = new Customers(); } else { model.Customer = _customersManagement.Get(d => d.ID == id); model.BookList = _booksManagement.GetAll(b => b.CustomerID == id && !b.IsCancelled).OrderBy(b => b.ArrivalDate).ToList(); } return(View(model)); }
// GET: Admin/RoomManagement public ActionResult Index() { ShowRoomViewModel model = new ShowRoomViewModel() { RoomList = _roomsManagement.GetAll().OrderBy(r => r.ID).ToList(), BookList = _booksManagement.GetAll().OrderByDescending(b => b.ArrivalDate).ToList() }; foreach (var room in model.RoomList) { List <Books> books = _booksManagement.GetAll(b => b.RoomID == room.ID && !b.IsCancelled).OrderByDescending(b => b.ArrivalDate).Take(1).ToList(); if (books.Count > 0) { if (DateHelper.IncludeDate(books[books.Count - 1].ArrivalDate, books[books.Count - 1].DepartureDate)) { room.Books.Add(books[books.Count - 1]); } } } return(View(model)); }
public ActionResult NewTestimonial(int?id) { NewTestimonialViewModel model = new NewTestimonialViewModel() { BookList = _bookManagement.GetAll().ToList(), ShowingStatusList = EnumHelpers.ConvertEnumToList(typeof(ShowStatus)) }; if (id == null) { model.Testimonial = new Testimonials(); } else { model.Testimonial = _testimonialsManagement.Get(d => d.ID == id); model.ShowingStatus = ConvertHelpers.ConvertBoolToInt(model.Testimonial.IsShow); } return(View(model)); }
public string NewBooking(HomeViewModel model) { if (model.Book.ArrivalDate < DateTime.Today) { return("Arrival Date must be greater than today."); } else if (model.Book.ArrivalDate > model.Book.DepartureDate) { return("Departure Date must be greater than Arrival Date."); } bool available = false; model.Book.BookingDate = DateTime.Now; var customer = _customersManagement.Get(c => c.Nation == model.Customer.Nation && c.NationalID == model.Customer.NationalID); var rooms = _roomsManagement.GetAll(r => r.RoomTypeID == model.RoomTypeID).ToList(); if (customer == null) { Customers newCustomer = model.Customer; if (String.IsNullOrEmpty(newCustomer.Email) || String.IsNullOrEmpty(newCustomer.Name)) { return("Your E-Mail and/or Name is empty. Try again"); } _customersManagement.Add(newCustomer); customer = _customersManagement.Get(c => c.Nation == model.Customer.Nation && c.NationalID == model.Customer.NationalID); } model.Book.CustomerID = customer.ID; model.Book.Night = (int)(model.Book.DepartureDate - model.Book.ArrivalDate).TotalDays; if (String.IsNullOrEmpty(customer.Name)) { if (!String.IsNullOrEmpty(model.Customer.Name)) { customer.Name = model.Customer.Name; _customersManagement.Update(customer); } else { return("Your Name is empty."); } } if (String.IsNullOrEmpty(customer.Email)) { if (!String.IsNullOrEmpty(model.Customer.Email)) { customer.Email = model.Customer.Email; _customersManagement.Update(customer); } else { return("Your E-Mail is empty."); } } foreach (var room in rooms) { var books = _booksManagement.GetAll(b => b.RoomID == room.ID).ToList(); if (books.Count == 0) { available = true; } foreach (var book in books) { available = DateHelper.AvailableDate(model.Book.ArrivalDate, model.Book.DepartureDate, book.ArrivalDate, book.DepartureDate); if (!available) { break; } } if (available) { model.Book.RoomID = room.ID; _booksManagement.Add(model.Book); break; } } if (!available) { return("All rooms are reserved. Please, change room type or date and try again."); } return(String.Format($"Your booking has been saved!\nRoom No: {_roomsManagement.Get(r=>r.ID == model.Book.RoomID).RoomNo}\nAll details have been sent to {customer.Email}")); }