public async Task <ActionResult> Edit([Bind(Include = "ClassId,Date,Time,Duration,Type,MaxAttendance,GeneratedClass")] SingleClassSetup singleClassSetup) { Class cls = await db.Classes.SingleAsync(c => c.Id.Equals(singleClassSetup.ClassId)); cls.MaxAttendance = singleClassSetup.MaxAttendance; cls.Type = singleClassSetup.Type; cls.Duration = singleClassSetup.Duration; cls.Time = singleClassSetup.Date; cls.Attendance = cls.Attendance; singleClassSetup.GeneratedClass = cls; ModelState.Remove("GeneratedClass"); if (ModelState.IsValid) { db.Entry(singleClassSetup).State = EntityState.Modified; db.Entry(cls).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbEntityValidationException e) { e.ThrowDetailedEntityValidationErrors(); } return(RedirectToAction("Index")); } return(View(singleClassSetup)); }
public async Task <ActionResult> Create([Bind(Include = "Id,Date,Time,Duration,Type,MaxAttendance")] SingleClassSetup singleClassSetup) { Class c = new Class(); c.MaxAttendance = singleClassSetup.MaxAttendance; c.Type = singleClassSetup.Type; c.Duration = singleClassSetup.Duration; c.Time = ((DateTime)singleClassSetup.Date).Add(singleClassSetup.Time); c.Attendance = new List <Athlete>(); singleClassSetup.GeneratedClass = c; ModelState.Remove("GeneratedClass"); if (ModelState.IsValid) { db.SingleClasses.Add(singleClassSetup); try { await db.SaveChangesAsync(); } catch (DbEntityValidationException e) { e.ThrowDetailedEntityValidationErrors(); } return(RedirectToAction("Index")); } return(View(singleClassSetup)); }
// GET: SingleClassSetups/Details/5 public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SingleClassSetup singleClassSetup = await db.SingleClasses.FindAsync(id); if (singleClassSetup == null) { return(HttpNotFound()); } return(View(singleClassSetup)); }
public async Task <ActionResult> DeleteConfirmed(int id) { SingleClassSetup singleClassSetup = await db.SingleClasses.FindAsync(id); Class cls = await db.Classes.FindAsync(id); List <Performance> performances = db.Performances.Where(p => p.Class.Id.Equals(cls.Id)).ToList(); foreach (var performance in performances) { performance.Class = null; } db.SingleClasses.Remove(singleClassSetup); db.Classes.Remove(cls); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }