public ActionResult EditSeatNumber(decimal orderDetailID) { var currentOrder = OrderService.GetCurrentOrder(); if (currentOrder == null) { return(null); } var orderDetail = currentOrder .OrderDetails.FirstOrDefault(od => od.OrderDetailID == orderDetailID); if (orderDetail == null || orderDetail.Group_ID == null || orderDetail.IsWebinar) { return(null); } var groupId = orderDetail.Group_ID.Value; var roomTC = orderDetail.Group.ClassRoom_TC; var reserved = CartService.GetReservedSeatNumbers(_.List(groupId)).First().Value; var available = Enumerable.Range(1, orderDetail.Group.MaxNumOfStudents) .Where(x => !reserved.Contains((short)x)).Select(x => (short)x).ToList(); var model = new EditSeatNumberVM { Available = available, Current = orderDetail.SeatNumber, ClassRoomTC = roomTC, OrderDetailId = orderDetailID }; var response = Response; NoCache(response); return(BaseViewWithModel(new EditSeatNumberView(), model)); }
public ActionResult EditSeatNumber(EditSeatNumberVM model) { var orderDetailId = model.OrderDetailId; var orderDetail = OrderService.GetCurrentOrder() .OrderDetails.FirstOrDefault(od => od.OrderDetailID == orderDetailId); if (orderDetail != null) { orderDetail.SeatNumber = model.Current; OrderService.SubmitChanges(); } return(RedirectBack()); }