public ActionResult Approve(CarRentalViewModel model) { if (model.Id == 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CarRent carRent = db.CarRental.Find(model.Id); carRent.Status = CarRent.StatusEnum.Approved; db.SaveChanges(); return(RedirectToAction("Index")); }
//Get Method public ActionResult Create(string brand = null, string rego = null) { if (brand != null && rego != null) { CarRentalViewModel model = new CarRentalViewModel { Brand = brand, Rego = rego }; return(View(model)); } return(View(new CarRentalViewModel())); }
public ActionResult Decline(CarRentalViewModel model) { if (model.Id == 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CarRent carRent = db.CarRental.Find(model.Id); carRent.Status = CarRent.StatusEnum.Rejected; Car carInDb = db.Cars.Find(carRent.CarId); carInDb.Availability += 1; db.SaveChanges(); return(RedirectToAction("Index")); }
// GET: CarDetail public ActionResult Index(int id) { var userId = User.Identity.GetUserId(); var user = db.Users.FirstOrDefault(u => u.Id == userId); var carModel = db.Cars.Include(b => b.Type).SingleOrDefault(b => b.Id == id); var rentalPrice = 0.0; var oneMonthRental = 0.0; var TwoMonthRental = 0.0; if (user != null && !User.IsInRole(SD.AdminUserRole)) { var chargeRate = from u in db.Users join m in db.MembershipTypes on u.MembershipTypeId equals m.Id where u.Id.Equals(userId) select new { m.ChargeRateOneMonth, m.ChargeRateTwoMonth }; oneMonthRental = Convert.ToDouble(carModel.Price) * Convert.ToDouble(chargeRate.ToList()[0].ChargeRateOneMonth) / 100; TwoMonthRental = Convert.ToDouble(carModel.Price) * Convert.ToDouble(chargeRate.ToList()[0].ChargeRateTwoMonth) / 100; } CarRentalViewModel model = new CarRentalViewModel { CarId = carModel.Id, Rego = carModel.Rego, Availability = carModel.Availability, DateAdded = carModel.DateAdded, Description = carModel.Description, Type = db.TypeCars.FirstOrDefault(g => g.Id.Equals(carModel.TypeId)), TypeId = carModel.TypeId, ImageUrl = carModel.ImageUrl, Seats = carModel.Seats, Price = carModel.Price, FuelType = carModel.FuelType, Engine = carModel.Engine, Brand = carModel.Brand, Manufacturer = carModel.Manufacturer, UserId = userId, RentalPrice = rentalPrice, rentalPriceTwoMonth = TwoMonthRental, rentalPriceOneMonth = oneMonthRental }; return(View(model)); }
public ActionResult Reserve(CarRentalViewModel car) { var userid = User.Identity.GetUserId(); Car carToRent = db.Cars.Find(car.CarId); double rentalPr = 0; if (userid != null) { var chargeRate = from u in db.Users join m in db.MembershipTypes on u.MembershipTypeId equals m.Id where u.Id.Equals(userid) select new { m.ChargeRateOneMonth, m.ChargeRateTwoMonth }; if (car.RentalDuration == SD.TwoMonthCount) { rentalPr = Convert.ToDouble(carToRent.Price) * Convert.ToDouble(chargeRate.ToList()[0].ChargeRateTwoMonth) / 100; } else { rentalPr = Convert.ToDouble(carToRent.Price) * Convert.ToDouble(chargeRate.ToList()[0].ChargeRateOneMonth) / 100; } CarRent carRent = new CarRent { CarId = carToRent.Id, UserId = userid, RentalDuration = car.RentalDuration, RentalPrice = rentalPr, Status = CarRent.StatusEnum.Requested, }; db.CarRental.Add(carRent); var carInDb = db.Cars.SingleOrDefault(c => c.Id == car.CarId); carInDb.Availability -= 1; db.SaveChanges(); return(RedirectToAction("Index", "CarRent")); } return(View()); }
public ActionResult Return(CarRentalViewModel model) { if (model.Id == 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CarRent carRent = db.CarRental.Find(model.Id); carRent.Status = CarRent.StatusEnum.Closed; carRent.AdditionalCharge = model.AdditionalCharge; Car carInDb = db.Cars.Find(carRent.CarId); carInDb.Availability += 1; carRent.ActualEndDate = DateTime.Now; db.SaveChanges(); return(RedirectToAction("Index")); }
private CarRentalViewModel getVMFromCarRent(CarRent carRent) { Car carSelected = db.Cars.Where(b => b.Id == carRent.CarId).FirstOrDefault(); var userDetails = from u in db.Users where u.Id.Equals(carRent.UserId) select new { u.Id, u.FirstName, u.LastName, u.Email }; CarRentalViewModel model = new CarRentalViewModel { Id = carRent.Id, CarId = carSelected.Id, RentalPrice = carRent.RentalPrice, Price = carSelected.Price, Seats = carSelected.Seats, FirstName = userDetails.ToList()[0].FirstName, LastName = userDetails.ToList()[0].LastName, //BirthDate = userDetails.ToList()[0].bir Email = userDetails.ToList()[0].Email, UserId = userDetails.ToList()[0].Id, ScheduledEndDate = carRent.ScheduledEndDate, Manufacturer = carSelected.Manufacturer, StartDate = carRent.StartDate, Availability = carSelected.Availability, DateAdded = carSelected.DateAdded, Description = carSelected.Description, TypeId = carSelected.TypeId, Type = db.TypeCars.FirstOrDefault(g => g.Id.Equals(carSelected.TypeId)), Rego = carSelected.Rego, ImageUrl = carSelected.ImageUrl, FuelType = carSelected.FuelType, Engine = carSelected.Engine, RentalDuration = carRent.RentalDuration, Status = carRent.Status.ToString(), Brand = carSelected.Brand, AdditionalCharge = carRent.AdditionalCharge, }; return(model); }
public ActionResult PickUp(CarRentalViewModel model) { if (model.Id == 0) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CarRent carRent = db.CarRental.Find(model.Id); carRent.Status = CarRent.StatusEnum.Rented; carRent.StartDate = DateTime.Now; if (carRent.RentalDuration == SD.TwoMonthCount) { carRent.ScheduledEndDate = DateTime.Now.AddMonths(Convert.ToInt32(SD.TwoMonthCount)); } else { carRent.ScheduledEndDate = DateTime.Now.AddMonths(Convert.ToInt32(SD.OneMonthCount)); } db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Create(CarRentalViewModel carRent) { if (ModelState.IsValid) { var email = carRent.Email; var userDetails = from u in db.Users where u.Email.Equals(email) select new { u.Id, u.FirstName, u.LastName, u.BirthDate }; var Rego = carRent.Rego; Car carSelected = db.Cars.Where(b => b.Rego == Rego).FirstOrDefault(); var rentalDuration = carRent.RentalDuration; var chargeRate = from u in db.Users join m in db.MembershipTypes on u.MembershipTypeId equals m.Id where u.Email.Equals(email) select new { m.ChargeRateOneMonth, m.ChargeRateTwoMonth }; var oneMonthRental = Convert.ToDouble(carSelected.Price) * Convert.ToDouble(chargeRate.ToList()[0].ChargeRateOneMonth) / 100; var TwoMonthRental = Convert.ToDouble(carSelected.Price) * Convert.ToDouble(chargeRate.ToList()[0].ChargeRateTwoMonth) / 100; double rentalPr = 0; if (carRent.RentalDuration == SD.TwoMonthCount) { rentalPr = TwoMonthRental; } else { rentalPr = oneMonthRental; } //BookRentalViewModel model = new BookRentalViewModel //{ // BookId = bookSelected.Id, // RentalPrice = rentalPr, // Price = bookSelected.Price, // Pages = bookSelected.Pages, // FirstName = userDetails.ToList()[0].FirstName, // LastName = userDetails.ToList()[0].LastName, // BirthDate = userDetails.ToList()[0].BirthDate, // ScheduledEndDate = bookRent.ScheduledEndDate, // Author = bookSelected.Author, // Avaibility = bookSelected.Avaibility, // DateAdded = bookSelected.DateAdded, // Description = bookSelected.Description, // Email = email, // GenreId = bookRent.GenreId, // Genre = db.Genres.Where(g => g.Id.Equals(bookSelected.GenreId)).First(), // ISBN = bookSelected.ISBN, // ImageUrl = bookSelected.ImageUrl, // ProductDimensions = bookSelected.ProductDimensions, // PublicationDate = bookSelected.PublicationDate, // Publisher = bookSelected.Publisher, // RentalDuration = bookRent.RentalDuration, // Status = BookRent.StatusEnum.Requested.ToString(), // Title = bookSelected.Title, // UserId = userDetails.ToList()[0].Id, // RentalPriceOneMonth = oneMonthRental, // RentalPriceSixMonth = sixMonthRental //}; CarRent modelToAddToDb = new CarRent { CarId = carSelected.Id, RentalPrice = rentalPr, ScheduledEndDate = carRent.ScheduledEndDate, RentalDuration = carRent.RentalDuration, Status = CarRent.StatusEnum.Approved, UserId = userDetails.ToList()[0].Id }; carSelected.Availability -= 1; db.CarRental.Add(modelToAddToDb); db.SaveChanges(); return(RedirectToAction("Index")); } return(View()); }