public ActionResult EditManager(string id) { PiniTManager manager = manDb.GetManager(id); if (manager == null) { return(HttpNotFound()); } return(View(manager)); }
public ActionResult Create(CreateReservationsVM vm) { Table table = tableDb.GetTable((int)TempData["TableId"]); PiniTCustomer customer = custDb.GetCustomer(User.Identity.GetUserId()); var manager = manDb.GetManager(table.RestaurantId); var hub = GlobalHost.ConnectionManager.GetHubContext <PiniTHub>(); if (!ModelState.IsValid || !vm.HasAcceptedTerms) { TempData["TableId"] = table.TableId; vm.Table = table; vm.Restaurant = restDb.GetRestaurant(table.RestaurantId); return(View(vm)); } if (customer.AccountWallet.Credits < vm.Reservation.BookingFee) { TempData["Message"] = "Not enough Credits. Reservation Cancelled"; return(RedirectToAction("CustomerIndex", "Tables", new { id = table.RestaurantId })); } if (table.IsBooked) { TempData["Message"] = "Sorry! Someone else Booked that Table! You can Book another one :)"; return(RedirectToAction("CustomerIndex", "Tables", new { id = table.RestaurantId })); } vm.Reservation.TableId = table.TableId; tableDb.ToggleIsBooked(vm.Reservation.TableId); vm.Reservation.CustomerId = User.Identity.GetUserId(); if (vm.Reservation.Comment == null || vm.Reservation.Comment == "") { vm.Reservation.Comment = "No Comment"; } db.CreateReservation(vm.Reservation); hub.Clients.User(manager.UserName).getReservation(new { Customer = User.Identity.Name, Comment = vm.Reservation.Comment, Date = vm.Reservation.BookDate.ToString("dd/MM/yyyy HH:mm"), Table = table.Name, EstimatedTime = vm.Reservation.BookDate.AddMinutes(vm.EstimatedTime).ToString("HH:mm") }); bool result = walletDb.PayFee(vm.Reservation.BookingFee, vm.Reservation.CustomerId, table.RestaurantId); if (result) { TempData["Message"] = "Reservation Accepted! :)"; return(RedirectToAction("Index", "Home")); } else { TempData["Message"] = "Sorry Something went Wrong ! :'("; return(RedirectToAction("CustomerIndex", "Tables", new { id = table.RestaurantId })); } }