public IActionResult BookingHistory()
        {
            string         userID                = User.FindFirstValue(ClaimTypes.NameIdentifier);
            List <Booking> bookingHistories      = _movieRepository.ListBookingHistory(userID);
            List <BookingHistoryViewModel> model = new List <BookingHistoryViewModel>();

            foreach (var item in bookingHistories)
            {
                string MovieName = _movieRepository.GetMovieById(item.MovieID).Title;
                Time   getTime   = _movieRepository.GetSchedule(Convert.ToInt32(item.TimeID));

                BookingHistoryViewModel modelItem = new BookingHistoryViewModel()
                {
                    IDTicket    = Convert.ToInt32(item.Id),
                    FullName    = item.FullName,
                    PhoneNumber = item.PhoneNumber,
                    Amount      = item.Amount,
                    Total       = item.TotalBill,
                    Title       = MovieName,
                    BookingDate = getTime.Date,
                    FromTime    = getTime.fromTime
                };

                model.Add(modelItem);
            }
            return(View(model));
        }
        public BookingHistoryViewModel GetBookingHistory(int?Id)
        {
            int bookingId = (int)Id;
            IEnumerable <BookingHistory> bookingHistory   = _dbContext.BookingHistories.Where(a => a.BookingId == bookingId);
            BookingHistoryViewModel      bookingsEntities = Mapper.Map <BookingHistoryViewModel>(bookingHistory.LastOrDefault());

            return(bookingsEntities);
        }
 public string updateBookingHistory(BookingHistoryViewModel bookingHistory)
 {
     if (bookingHistory != null)
     {
         BookingHistory entity = _dbContext.BookingHistories.Find(bookingHistory.HistoryId);
         Mapper.Map(bookingHistory, entity);
         _dbContext.Entry(entity).State = EntityState.Modified;
         _dbContext.SaveChanges();
         Booking booking = _dbContext.Bookings.Where(a => a.BookingId == bookingHistory.BookingId).First();
         if (booking.ServiceId == 4 && booking.DepartmentId == 2)
         {
             booking.DepartmentId            = 1;
             _dbContext.Entry(booking).State = EntityState.Modified;
             _dbContext.SaveChanges();
             BookingHistory addBookingHistory = new BookingHistory();
             addBookingHistory.ServiceId    = bookingHistory.ServiceId;
             addBookingHistory.BookingId    = bookingHistory.BookingId;
             addBookingHistory.VehicleId    = bookingHistory.VehicleId;
             addBookingHistory.DepartmentId = 1;
             _dbContext.BookingHistories.Add(addBookingHistory);
             _dbContext.SaveChanges();
         }
         else if (booking.ServiceId == 5 && booking.DepartmentId == 3)
         {
             booking.DepartmentId            = 1;
             _dbContext.Entry(booking).State = EntityState.Modified;
             _dbContext.SaveChanges();
             BookingHistory addBookingHistory = new BookingHistory();
             addBookingHistory.ServiceId    = bookingHistory.ServiceId;
             addBookingHistory.BookingId    = bookingHistory.BookingId;
             addBookingHistory.VehicleId    = bookingHistory.VehicleId;
             addBookingHistory.DepartmentId = 1;
             _dbContext.BookingHistories.Add(addBookingHistory);
             _dbContext.SaveChanges();
         }
         else
         {
             booking.Status = 3;
             Payment payment = new Payment();
             payment.BookingId = booking.BookingId;
             payment.ServiceId = booking.ServiceId;
             payment.VehicleId = booking.VehicleId;
             _dbContext.Entry(booking).State = EntityState.Modified;
             _dbContext.SaveChanges();
             _dbContext.Payments.Add(payment);
             _dbContext.SaveChanges();
         }
         return("Booking updated");
     }
     return("Model is null");
 }
        public ActionResult AdminEdit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BookingHistoryViewModel booking = _bookingHistoryManager.GetBookingHistory(id);

            ViewBag.VehicleId  = new SelectList(_vehicleManager.GetAllVehicle().Where(a => a.VehicleId == booking.VehicleId), "VehicleId", "LicencePlate", selectedValue: booking.VehicleId);
            ViewBag.ServiceId  = new SelectList(_serviceManager.GetAllService().Where(a => a.ServiceId == booking.ServiceId), "ServiceId", "ServiceName", selectedValue: booking.ServiceId);
            ViewBag.MechanicId = new SelectList(_mechanicManager.GetMechanicOfMaintainance(), "MechanicId", "Name");
            if (booking == null)
            {
                return(HttpNotFound());
            }
            return(View(booking));
        }
 public ActionResult Edit(BookingHistoryViewModel booking)
 {
     try
     {
         if (ModelState.IsValid)
         {
             string update = _bookingHistoryManager.updateBookingHistory(booking);
             return(RedirectToAction("Index"));
         }
     }
     catch (Exception ex)
     {
         ModelState.AddModelError("", ex.Message);
     }
     ViewBag.VehicleId  = new SelectList(_vehicleManager.GetAllVehicle().Where(a => a.VehicleId == booking.VehicleId), "VehicleId", "LicencePlate", selectedValue: booking.VehicleId);
     ViewBag.ServiceId  = new SelectList(_serviceManager.GetAllService().Where(a => a.ServiceId == booking.ServiceId), "ServiceId", "ServiceName", selectedValue: booking.ServiceId);
     ViewBag.MechanicId = new SelectList(_mechanicManager.GetMechanicOfWashing(), "MechanicId", "Name");
     return(View(booking));
 }
 public string updateBookingHistory(BookingHistoryViewModel bookingHistory)
 {
     return(_BookingHistoryRepository.updateBookingHistory(bookingHistory));
 }