// GET: GymClasses/BookingToggle/5 public async Task <IActionResult> BookingToggle(int?id) { if (id == null) { return(NotFound()); } // Get the userid var userId = userManager.GetUserId(User); GymClass currentGymClass = await unitOfWork.GymClasses.GetMembersAsync(id); // Is the user booked on the pass? var attending = currentGymClass.AttendingMembers.FirstOrDefault(u => u.ApplicationUserId == userId); // If not book the user on the pass if (attending == null) { var book = new ApplicationUserGymClass { ApplicationUserId = userId, GymClassId = currentGymClass.Id }; unitOfWork.UserGymClasses.Add(book); await unitOfWork.CompleteAsync(); } // Otherwise unbook else { unitOfWork.UserGymClasses.Remove(attending); await unitOfWork.CompleteAsync(); } return(RedirectToAction(nameof(Index))); }
// [Authorize] public async Task <IActionResult> BookingToogle(int?id) { if (id == null) { return(NotFound()); } var gymClass = await _context.GymClasses.Include(g => g.AttendingMembers) .FirstOrDefaultAsync(m => m.Id == id); if (gymClass.AttendingMembers == null) { gymClass.AttendingMembers = new List <ApplicationUserGymClass>(); } var inloggadMember = userManager.GetUserId(User); var member = gymClass.AttendingMembers.Where(u => u.ApplicationUserId == inloggadMember) .FirstOrDefault(); if (member != null) { gymClass.AttendingMembers.Remove(member); } else { ApplicationUserGymClass newMember = new ApplicationUserGymClass(); newMember.ApplicationUserId = inloggadMember; gymClass.AttendingMembers.Add(newMember); } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> BookingToggle(int?id) { if (id is null) { return(BadRequest()); } var userId = userManager.GetUserId(User); var attending = db.ApplicationUserGymClasses.Find(userId, id); if (attending is null) { var booking = new ApplicationUserGymClass { ApplicationUserId = userId, GymClassId = (int)id }; db.ApplicationUserGymClasses.Add(booking); await db.SaveChangesAsync(); } else { db.ApplicationUserGymClasses.Remove(attending); await db.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> BookingToggle(int?id) { if (id is null) { return(BadRequest()); } var userId = UserManager.GetUserId(User); var attending = UnitOfWork.AppUserRepository.GetAttending(id, userId); if (attending is null) { var booking = new ApplicationUserGymClass { ApplicationUserId = userId, GymClassId = (int)id }; UnitOfWork.AppUserRepository.Add(booking); await UnitOfWork.CompleteAsync(); } else { UnitOfWork.AppUserRepository.Remove(attending); await UnitOfWork.CompleteAsync(); } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> BookingToggle(int?id) { if (id is null) { return(BadRequest()); } var userId = usermanager.GetUserId(User); ApplicationUserGymClass attending = await uow.AppUserRepo.GetAttending(id, userId); if (attending is null) { var booking = new ApplicationUserGymClass { ApplicationUserId = userId, GymClassId = (int)id }; uow.AppUserRepo.Add(booking); } else { uow.AppUserRepo.Remove(attending); } await uow.CompleteAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> BookingToggle(int?id) { if (id is null) { return(BadRequest()); } var loggedInUser = _userManager.GetUserId(User); var attending = await uow.UserGymClassRepository.GetAttending(id, loggedInUser); if (attending is null) { var booking = new ApplicationUserGymClass { GymClassId = (int)id, ApplicationUserId = loggedInUser }; uow.UserGymClassRepository.Add(booking); } else { uow.UserGymClassRepository.Remove(attending); } await uow.CompeteAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> BookingToggle(int?id) { // olika sätt att hitta user: // dbContext.Users bla bla // User.Identity bla bla var userId = userManager.GetUserId(User); // If not logged in if (userId is null) { return(NotFound()); } var attending = unitOfWork.AppUserRepository.GetAttending(userId, id); // TODO: check that id (GymClass) exist if (attending is null) { var booking = new ApplicationUserGymClass { ApplicationUserId = userId, GymClassId = (int)id }; unitOfWork.AppUserRepository.Add(booking); } else { unitOfWork.AppUserRepository.Remove(attending); } await unitOfWork.CompleteAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> BookingToggle(int?id) { if (id is null) { return(BadRequest()); } //Check who is logged in with Get User id var userId = userManager. GetUserId(User); // Get current gympass // include gymclasses, include all rows with attending members var currentGymClass = await db.GymClasses. Include(g => g.AttendedMembers) // get one gym class .FirstOrDefaultAsync(a => a.Id == id); // less code line 38-46 // var attending = db.ApplicationUserGymClasses.Find(userId, id); // need to change and cast Id to int: GymClassId = currentGymClass.Id --> GymClassId = (int)Id // Am i booked in the class? var attending = currentGymClass?.AttendedMembers. FirstOrDefault(a => a.ApplicationUserId == userId); if (attending is null) { // make a new booking if attending is null (no current booking) var booking = new ApplicationUserGymClass { ApplicationUserId = userId, GymClassId = currentGymClass.Id }; // add booking to db db.ApplicationUserGymClasses.Add(booking); await db.SaveChangesAsync(); } //not null I want to remove my attending else { db.ApplicationUserGymClasses.Remove(attending); await db.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> BookingToggle(int?id) { if (id == null) { return(NotFound()); } //Hämta den inloggade användarens Id var currentUserId = userManager.GetUserId(User); //Hämta aktuellt gympass läs där vi även hämtar navigationpropertyt var currentGymClass = await unitOfWork.GymClasses.GetWithAttendingMembers(id); if (currentGymClass == null) { return(NotFound()); } //Är den inloggade användaren bokad på passet? var attending = currentGymClass.AttendingMembers .FirstOrDefault(u => u.ApplicationUserId == currentUserId && u.GymClassId == id); //Om inte, boka användaren på det aktuella passet if (attending == null) { var book = new ApplicationUserGymClass { ApplicationUserId = currentUserId, GymClassId = currentGymClass.Id }; unitOfWork.UserGymClass.Add(book); await unitOfWork.CompleteAsync(); } //Annars avboka else { unitOfWork.UserGymClass.Remove(attending); await unitOfWork.CompleteAsync(); } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> BookingToogle(int?id) { if (id == null) { return(NotFound()); } //Hämta den inloggade användarens id // var userId = _context.Users.FirstOrDefault(u => u.UserName == User.Identity.Name); var userId = userManager.GetUserId(User); //Hämta aktuellt gympass var currentGymClass = await _context.Gym .IgnoreQueryFilters() .Include(a => a.AttendingMembers) .FirstOrDefaultAsync(g => g.Id == id); //Är den aktuella inloggade användaren bokad på passet? var attending = currentGymClass.AttendingMembers .FirstOrDefault(u => u.ApplicationUserId == userId); //Om inte, boka användaren på passet if (attending == null) { var book = new ApplicationUserGymClass { ApplicationUserId = userId, GymId = currentGymClass.Id }; _context.ApplicationUserGymClass.Add(book); _context.SaveChanges(); } //Annars avboka else { _context.ApplicationUserGymClass.Remove(attending); _context.SaveChanges(); } return(RedirectToAction(nameof(Index))); }
public async Task <ActionResult> BookingToggle(int?id) { if (id == null) { return(BadRequest()); } var userId = _userManager.GetUserId(User); ApplicationUserGymClass attending = await ouw.AppUserRepo.GetAttending(id, userId); //var gymClass = await _context.GymClass.Include(g => g.AttendingMembers).FirstOrDefaultAsync(a => a.Id == id); //var attending = gymClass.AttendingMembers.FirstOrDefault(a => a.ApplicationUserID == user); //var findMember = await _context.AttendingMember.FindAsync(user, id); if (attending == null) { var booking = new ApplicationUserGymClass { ApplicationUserID = userId, GymClassID = (int)id, }; ouw.AppUserRepo.Add(booking); //_context.AttendingMember.Add(booking); } else { ouw.AppUserRepo.Remove(attending); // _context.AttendingMember.Remove(findMember); } await ouw.CompleteAsync(); //await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> BookingToogle(int?id) { if (id == null) { return(NotFound()); } //Hämta den inloggade användarens id // var userId = _context.Users.FirstOrDefault(u => u.UserName == User.Identity.Name); var userId = userManager.GetUserId(User); //Hämta aktuellt gympass //Todo: Remove button in ui if pass is history!!! GymClass currentGymClass = await unitOfWork.GymClasses.GetWithAttendingMembersAsync(id); //Är den aktuella inloggade användaren bokad på passet? var attending = currentGymClass.AttendingMembers .FirstOrDefault(u => u.ApplicationUserId == userId); //Om inte, boka användaren på passet if (attending == null) { var book = new ApplicationUserGymClass { ApplicationUserId = userId, GymClassId = currentGymClass.Id }; unitOfWork.UserGymClasses.Add(book); await unitOfWork.CompleteAsync(); } //Annars avboka else { unitOfWork.UserGymClasses.Remove(attending); await unitOfWork.CompleteAsync(); } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> BookingToggle(int?id) { if (id == null) { return(NotFound()); } var gymClass = await _unitOfWork.GymClasses.GetClassWithAttendingMembersAsync(id); if (gymClass == null) { return(NotFound()); } var userId = _userManager.GetUserId(User); if (userId == null) { return(NotFound()); } var attendingMember = gymClass.AttendingMembers.FirstOrDefault(a => a.ApplicationUser.Id == userId); if (attendingMember == null) { attendingMember = new ApplicationUserGymClass { ApplicationUserId = userId, GymClassId = gymClass.Id }; await _unitOfWork.UserGymClasses.AddAsync(attendingMember); await _unitOfWork.CompleteAsync(); return(View(nameof(Index))); } await _unitOfWork.CompleteAsync(); return(View(nameof(Index))); }
public async Task <IActionResult> BookingToogle(int?id) { if (id == null) { return(NotFound()); } ApplicationUser currentUser = await _context.Users.Where (u => u.UserName == User.Identity.Name).FirstOrDefaultAsync(); GymClass currentClass = await _context.GymClass.Where(c => c.Id == id) .Include(a => a.AttendingMembers).FirstOrDefaultAsync(); if (currentClass == null) { return(NotFound()); } ApplicationUserGymClass attending = currentClass.AttendingMembers .Where(u => u.ApplicationUserId == currentUser.Id && u.GymClassId == id).FirstOrDefault(); if (attending == null) { var book = new ApplicationUserGymClass() { ApplicationUserId = currentUser.Id, GymClassId = (int)id }; _context.UserGym.Add(book); _context.SaveChanges(); } else { _context.UserGym.Remove(attending); _context.SaveChanges(); } return(RedirectToAction(nameof(Index))); }
// BookingToggle public async Task <IActionResult> BookingToggle(int?id) { if (id is null) { return(BadRequest()); } var userId = userManager.GetUserId(User); //var currentGymClass = await db.GymClasses.Include(g => g.AttendedMembers) // .FirstOrDefaultAsync(a => a.Id == id); //var attending = currentGymClass?.AttendedMembers // .FirstOrDefault(a => a.ApplicationUserId == userId); var attending = db.ApplicationUserGymClasses.Find(userId, id); if (attending is null) { var booking = new ApplicationUserGymClass { ApplicationUserId = userId, GymClassId = (int)id //GymClassId = currentGymClass.Id }; db.ApplicationUserGymClasses.Add(booking); await db.SaveChangesAsync(); } else { db.ApplicationUserGymClasses.Remove(attending); await db.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); }
public void Add(ApplicationUserGymClass attending) { _dbContext.Add(attending); }
public async Task <IActionResult> BookingToggle(int?id) { if (id == null) { return(NotFound()); } //var userId = _context.Users.FirstOrDefault(u => u.UserName == User.Identity.Name); var userId = _userManager.GetUserId(User); var currentGymClass = await _context.GymClasses .Include(a => a.AttendingMembers) .FirstOrDefaultAsync(g => g.Id == id); var attending = currentGymClass.AttendingMembers .FirstOrDefault(u => u.ApplicationUserId == userId); if (attending == null) { var book = new ApplicationUserGymClass { ApplicationUserId = userId, GymClassId = currentGymClass.Id }; _context.ApplicationUserGymClasses.Add(book); _context.SaveChanges(); } else { _context.ApplicationUserGymClasses.Remove(attending); _context.SaveChanges(); } //var pass = await _context.GymClasses // .Include(c => c.AttendingMembers) // .ThenInclude(e => e.ApplicationUser) // .FirstOrDefaultAsync(m => m.Id == id); //if (pass != null) //{ // _context.GymClasses.Remove(pass); // await _context.SaveChangesAsync(); // return RedirectToAction(nameof(Index)); //} //if(pass == null) //{ // _context.GymClasses.Add(pass); // await _context.SaveChangesAsync(); // return RedirectToAction(nameof(Index)); //} //var gymClass = await _context.GymClasses // .FirstOrDefaultAsync(m => m.Id == id); //if (gymClass == null) //{ // return NotFound(); //} return(RedirectToAction(nameof(Index))); }
public void Remove(ApplicationUserGymClass attending) { context.ApplicationUserGymClasses.Remove(attending); }
public void Add(ApplicationUserGymClass book) { context.ApplicationUserGymClasses.Add(book); }
public void Remove(ApplicationUserGymClass attending) { db.Remove(attending); }
public void Add(ApplicationUserGymClass attending) { db.Add(attending); }
public void Add(ApplicationUserGymClass userGymClass) { db.UserGymClass.Add(userGymClass); }
public void Add(ApplicationUserGymClass userGymClass) { db.UserGymClass.Add(userGymClass); //mitt feltänk: db.ApplicationUserGymClass }
public void Remove(ApplicationUserGymClass attending) { _dbContext.Remove(attending); }