Exemple #1
0
        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);
        }
Exemple #2
0
        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());
        }
Exemple #3
0
        //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));
        }
Exemple #4
0
        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"));
        }
Exemple #5
0
        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"));
        }
Exemple #6
0
        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"));
        }
Exemple #7
0
        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"));
        }
Exemple #8
0
        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"));
        }