private ToyRentalViewModel getVMPFromToyRent(ToyRent toyRent) { Toy toySelected = db.Toys.Where(t => t.ToyID == toyRent.ToyID).FirstOrDefault(); var userDetails = from u in db.Users where u.Id.Equals(toyRent.UserId) select new { u.Id, u.FirstName, u.LastName, u.BirthDate, u.Email }; ToyRentalViewModel model = new ToyRentalViewModel { ToyRentID = toyRent.ToyRentID, ToyID = toyRent.ToyID, ToyPrice = toyRent.ToyPrice, Price = toySelected.Price, FirstName = userDetails.ToList()[0].FirstName, LastName = userDetails.ToList()[0].LastName, BirthDate = userDetails.ToList()[0].BirthDate, Email = userDetails.ToList()[0].Email, UserId = userDetails.ToList()[0].Id, ScheduledOfRentalDate = toyRent.ScheduledOfRentalDate, StartOfRentalDate = toyRent.StartOfRentalDate, Avaibility = toySelected.Avaibility, YearOfManufactire = toySelected.YearOfManufactire, ToyDescription = toySelected.ToyDescription, TypeOfToyID = toySelected.TypeOfToyID, TypeOfToy = db.ToysType.FirstOrDefault(t => t.TypeOfToyID.Equals(toySelected.TypeOfToyID)), ForAge = toySelected.ForAge, ImageUrl = toySelected.ImageUrl, RentalDuration = toyRent.RentalDuration, Status = toyRent.Status.ToString(), NameOfToy = toySelected.NameOfToy, AdditionalCharge = toyRent.AdditionalCharge }; return(model); }
public ActionResult Create(ToyRentalViewModel toyRent) { if (ModelState.IsValid) { //return View(uvm); var email = toyRent.Email; var userDetails = from u in db.Users where u.Email.Equals(email) select new { u.Id };//,u.FirstName,u.LastName,u.BirthDate //-------------------------------------isbn!!!!!! var toyName = toyRent.NameOfToy; Toy toySelected = db.Toys.Where(t => t.NameOfToy == toyName).FirstOrDefault(); var rentalDuration = toyRent.RentalDuration; //List<UserViewModel> users = new List<UserViewModel>(); //List<MembershipType> member = new List<MembershipType>(); var chargeRate = from u in db.Users join m in db.MembershipTypes on u.MembershipTypeID equals m.MembershipTypeID where u.Email.Equals(email) select new { m.ChargeRateForOneMonth }; var oneMonthRental = Convert.ToDouble(toySelected.Price) * Convert.ToDouble(chargeRate.ToList()[0].ChargeRateForOneMonth) / 100; double rentalPrice = oneMonthRental; ToyRent modelToAddTodb = new ToyRent { ToyID = toySelected.ToyID, ToyPrice = rentalPrice, ScheduledOfRentalDate = toyRent.ScheduledOfRentalDate, RentalDuration = rentalDuration, Status = ToyRent.StatusEnum.Approved, UserId = userDetails.ToList()[0].Id }; toySelected.Avaibility -= 1; db.ToyRents.Add(modelToAddTodb); db.SaveChanges(); return(RedirectToAction("Index")); } return(View()); }
//decline get public ActionResult Decline(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ToyRent toyRent = db.ToyRents.Find(id); var model = getVMPFromToyRent(toyRent); if (model == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } return(View(model)); }
public ActionResult Decline(int id) //ToyRentalViewModel model { if (id == 0) //ToyID?? { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ToyRent toyRent = db.ToyRents.Find(id); toyRent.Status = ToyRent.StatusEnum.Rejected; Toy toyInDb = db.Toys.Find(toyRent.ToyID); toyInDb.Avaibility += 1; db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Return(int id) //ToyRentalViewModel model { if (id == 0) //ToyID?? { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ToyRent toyRent = db.ToyRents.Find(id); toyRent.Status = ToyRent.StatusEnum.closed; toyRent.AdditionalCharge = toyRent.AdditionalCharge; Toy toyInDb = db.Toys.Find(toyRent.ToyID); toyInDb.Avaibility += 1; toyRent.EndOfRentalDate = DateTime.Now; db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult PickUp(int id) //ToyRentalViewModel model { if (id == 0) //ToyID?? { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ToyRent toyRent = db.ToyRents.Find(id); toyRent.Status = ToyRent.StatusEnum.Rented; toyRent.StartOfRentalDate = DateTime.Now; toyRent.ScheduledOfRentalDate = DateTime.Now.AddMonths(1); //Toy toyInDb = db.Toys.Find(toyRent.ToyID); //toyInDb.Avaibility += 1; db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Delete(int id) //ToyRentalViewModel model { if (id == 0) //ToyID?? { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ToyRent toyRent = db.ToyRents.Find(id); var toyInDb = db.Toys.Where(t => t.ToyID.Equals(toyRent.ToyID)).FirstOrDefault(); if (!toyRent.Status.ToString().Equals("Rented")) { toyInDb.Avaibility += 1; } db.ToyRents.Remove(toyRent); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Reserve(ToyRentalViewModel toy) { var userId = User.Identity.GetUserId(); Toy toyToRent = db.Toys.Find(toy.ToyID); //double rentalPr = 0; double rentalPrice = 0; if (userId != null) { var chargeRate = from u in db.Users join m in db.MembershipTypes on u.MembershipTypeID equals m.MembershipTypeID where u.Id.Equals(userId) select new { m.ChargeRateForOneMonth }; //if(toy.RentalDuration==StatisDetails) var oneMonthRental = Convert.ToDouble(toyToRent.Price) * Convert.ToDouble(chargeRate.ToList()[0].ChargeRateForOneMonth) / 100; rentalPrice = oneMonthRental; } ToyRent toyRent = new ToyRent { ToyID = toyToRent.ToyID, UserId = userId, RentalDuration = toy.RentalDuration, ToyPrice = rentalPrice, Status = ToyRent.StatusEnum.Requested }; db.ToyRents.Add(toyRent); var toyInDb = db.Toys.SingleOrDefault(c => c.ToyID == toy.ToyID); toyInDb.Avaibility -= 1; db.SaveChanges(); return(RedirectToAction("Index", "ToyRent")); }