コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        // 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));
        }
コード例 #4
0
        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"));
        }