Ejemplo n.º 1
0
        private static GymMember FindGymMember(IPrincipal user)
        {
            
            GymContext db = new GymContext();
            Tex.Log("Verifying Member",user.Identity.Name);
            var nameParts = user.Identity.Name.Split('\\');

            if (nameParts.Length < 1) {
                Tex.Log("incorrect number of name parts returned");
                return null;
            }
            string sName = nameParts[1];
            Tex.Log("checking for ", sName);
            
            return db.GymMembers.SingleOrDefault(m => m.StaffId == sName);
        } 
Ejemplo n.º 2
0
 public static bool CancelMemberBooking(int classId, int memberId, GymContext db)
 {
     GymClass cl = db.GymClass.Find(classId);
     if (cl == null) {
         return false;
     }
     var booking = db.MemberClassBookings.Where(bk => bk.GymClassId == cl.GymClassId && bk.GymMemberId == memberId).FirstOrDefault();
     if (booking == null) {
         return false;
     }
     db.Entry(booking).State = EntityState.Deleted;
     var nBookings = db.MemberClassBookings.Where(cls => cls.GymClassId == classId && !cls.Waiting).Count();
     // Promote the next one from the waiting list
     GymClassBooking promotedBooking = null;
     if (!booking.Waiting && nBookings <= cl.MaxCapacity){
         promotedBooking = db.MemberClassBookings.Where(bk => bk.GymClassId == cl.GymClassId && bk.Waiting == true).FirstOrDefault();
     }
     if (promotedBooking != null) {
         promotedBooking.Waiting = false;
         db.Entry(promotedBooking).State = EntityState.Modified;
     }
     db.SaveChanges();
     return true;
 }