Пример #1
0
        // 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));
        }
Пример #2
0
        // 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));
        }
Пример #3
0
        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);
        }
Пример #4
0
        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;
            }
        }