// GET: GymClass/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ClassBookingDetail gymClass = db.GymClass.Find(id).ToBookingViewModel(true); if (gymClass == null) { return(HttpNotFound()); } return(View(gymClass)); }
// GET: GymClass/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } GymClass dbClass = db.GymClass.Find(id); ClassBookingDetail gymClass = dbClass.ToBookingViewModel(false); if (gymClass == null) { return(HttpNotFound()); } gymClass.Types = db.GymClassTypes.OrderBy(t => t.Name).ToList(); return(View(gymClass)); }
public static ClassBookingDetail ToBookingViewModel(this GymClass gymClass, bool isDisplayDateFormat) { ClassBookingDetail cd = new ClassBookingDetail(); if (gymClass == null) { return(cd); } cd.Description = gymClass.Description; cd.GymClassId = gymClass.GymClassId; cd.MaxCapacity = gymClass.MaxCapacity; cd.MaxWaitList = gymClass.MaxWaitList; cd.GymClassTypeId = gymClass.GymClassTypeId; cd.GymClassTypeName = gymClass.Type.Name; cd.ClassDateTime = gymClass.ClassDateTime; if (isDisplayDateFormat) { cd.ClassDate = gymClass.ClassDateTime.ToString("dddd dd MMM"); cd.ClassTime = gymClass.ClassDateTime.ToString("HH:mm"); } else { cd.ClassTime = gymClass.ClassDateTime.ToString("HH:mm"); cd.ClassDate = gymClass.ClassDateTime.ToString("dd/MM/yyyy"); } cd.IsEditable = gymClass.ClassDateTime < DateTime.Now; cd.ClassBookings = new List <GymClassBooking>(); foreach (var b in gymClass.Bookings.Where(bk => bk.Waiting == false).ToList()) { cd.ClassBookings.Add(b); } cd.ClassWaiting = new List <GymClassBooking>(); foreach (var b in gymClass.Bookings.Where(bk => bk.Waiting == true).ToList()) { cd.ClassWaiting.Add(b); } cd.nBookings = gymClass.Bookings.Count(); return(cd); }
public ActionResult Edit([Bind(Include = "GymClassId,Description,GymClassTypeId,ClassTime,ClassDate,MaxCapacity,MaxWaitList,ClassBookings,ClassWaiting")] ClassBookingDetail gymClass) { Tex.Log("Enter GymClassController/Edit"); try { if (ModelState.IsValid) { if (gymClass != null) { Tex.Log("Model Valid - GC ID " + gymClass.GymClassId); } GymClass dbClass = db.GymClass.Find(gymClass.GymClassId); GymClassMapper.CopyGymClass(gymClass.ToModel(), dbClass); db.Entry(dbClass).State = EntityState.Modified; if (gymClass.ClassBookings != null && gymClass.ClassBookings.Any()) { foreach (var booking in gymClass.ClassBookings) { db.Entry(booking).State = EntityState.Modified; } } if (gymClass.ClassWaiting != null && gymClass.ClassWaiting.Any()) { foreach (var booking in gymClass.ClassWaiting) { db.Entry(booking).State = EntityState.Modified; } } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(gymClass)); } catch (Exception ex) { Tex.Dump(ex, "Excetption - GymClassControler/Edit"); throw; } }