Ejemplo n.º 1
0
        public ActionResult Reserve(TableRentalViewModel book)
        {
            var   userid      = User.Identity.GetUserId();
            Table tableToRent = db.Tables.Find(book.TableId);

            if (book.Seats <= 10)
            {
                var userInDb = db.Users.SingleOrDefault(c => c.Id == userid);

                TableBooking tableBook = new TableBooking
                {
                    TableId     = tableToRent.Id,
                    UserId      = userid,
                    BookingMade = DateTime.Now,
                    BookingDate = book.BookingDate,
                    BookingTime = book.BookingTime,
                    Seats       = book.Seats,
                    Status      = TableBooking.StatusEnum.Requested,
                };

                db.Booking.Add(tableBook);
                var tableInDb = db.Tables.SingleOrDefault(c => c.Id == book.TableId);

                tableInDb.Avaibility -= 1;

                db.SaveChanges();
                return(RedirectToAction("Index", "TableBook"));
            }
            else
            {
                ViewBag.Errors = "You cannot book more than 10 seats!";
                return(RedirectToAction("Index", new RouteValueDictionary(
                                            new { controller = "TableDetail", action = "Index", Id = book.TableId })));
            }
        }
Ejemplo n.º 2
0
        private TableRentalViewModel getVMFromTableBook(TableBooking bookRent)
        {
            Table tableSelected = db.Tables.Where(x => x.Id == bookRent.TableId).FirstOrDefault();

            var userDetails = from u in db.Users
                              where u.Id.Equals(bookRent.UserId)
                              select new { u.Id, u.FirstName, u.Surname, u.Email };

            TableRentalViewModel model = new TableRentalViewModel
            {
                Id          = bookRent.Id,
                TableId     = tableSelected.Id,
                Name        = tableSelected.Name,
                Description = tableSelected.Description,
                Image       = tableSelected.Image,
                Avaibility  = tableSelected.Avaibility,
                BookingMade = bookRent.BookingMade,
                BookingDate = bookRent.BookingDate,
                BookingTime = bookRent.BookingTime,
                Seats       = bookRent.Seats,
                TableNumber = bookRent.TableNumber,
                Status      = bookRent.Status.ToString(),
                Email       = userDetails.ToList()[0].Email,
                FirstName   = userDetails.ToList()[0].FirstName,
                LastName    = userDetails.ToList()[0].Surname,
                UserId      = userDetails.ToList()[0].Id
            };

            return(model);
        }
Ejemplo n.º 3
0
        public ActionResult Approve(TableRentalViewModel model)
        {
            if (model.Id == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (ModelState.IsValid)
            {
                TableBooking tableBook = db.Booking.Find(model.Id);
                tableBook.Status      = TableBooking.StatusEnum.Approved;
                tableBook.TableNumber = model.TableNumber;

                db.SaveChanges();
            }

            SendEmail(model.Id);

            return(RedirectToAction("Index", "TableBook"));
        }
Ejemplo n.º 4
0
        // GET: BookDetail
        public ActionResult Index(int id)
        {
            var userid = User.Identity.GetUserId();
            var user   = db.Users.FirstOrDefault(u => u.Id == userid);

            var bookModel = db.Tables.SingleOrDefault(b => b.Id == id);

            //var rentalPrice = 0.0;
            //var oneMonthRental = 0.0;
            //var sixMonthRental = 0.0;
            //var rentalCount = 0;

            //if (userid != 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.ChargeRateSixMonth, u.RentalCount };

            //    oneMonthRental = Convert.ToDouble(bookModel.Price) * Convert.ToDouble(chargeRate.ToList()[0].ChargeRateOneMonth) / 100;
            //    sixMonthRental = Convert.ToDouble(bookModel.Price) * Convert.ToDouble(chargeRate.ToList()[0].ChargeRateSixMonth) / 100;
            //    rentalCount = Convert.ToInt32(chargeRate.ToList()[0].RentalCount);
            //}

            TableRentalViewModel model = new TableRentalViewModel
            {
                TableId     = bookModel.Id,
                Avaibility  = bookModel.Avaibility,
                Description = bookModel.Description,
                Image       = bookModel.Image,
                Name        = bookModel.Name,
                UserId      = userid,
            };

            return(View(model));
        }