public async Task <IActionResult> SignOut([FromBody] SignInOutDTO data) { if (data.Id <= 0) { return(BadRequest()); } var result = await _context.Set <Booking>() .Where(x => x.Id == data.Id && x.Date.Date == data.date.Date && x.ServiceId == data.ServiceId && x.Time == data.Time) .FirstOrDefaultAsync(); if (result is null) { return(BadRequest()); } result.SignOut = DateTime.Now; _context.Update(result); await _context.SaveChangesAsync(); return(Ok(MapToSignInOutResponseDTO(result))); }
public async Task <ActionResult> SignIn(SignInOutDTO dto) { var studentId = await GetStudentId(); if (studentId == null) { return(Error()); } var section = _dbContext.Sections .Include(x => x.StudentSections) .FirstOrDefault(x => x.ID == dto.Id); if (section == null || section.State != SectionState.Active) { return(Error()); } if (_dbContext.StudentSections.Any(x => x.StudentID == studentId && x.SectionID == dto.Id)) { return(Error()); } _dbContext.StudentSections.Add(new StudentSection { SectionID = dto.Id, StudentID = studentId.Value }); _dbContext.SaveChanges(); return(RedirectToAction(nameof(SectionView), new { id = dto.Id })); }
public async Task <IActionResult> SigIn([FromBody] SignInOutDTO data) { if (data.Id <= 0) { return(BadRequest()); } var result = await _context.Set <Booking>() .Where(x => x.Id == data.Id && x.Date.Date == data.date.Date && x.ServiceId == data.ServiceId && x.Time == data.Time) .FirstOrDefaultAsync(); if (result is null) { return(BadRequest()); } result.SignIn = DateTime.Now; _context.Update(result); await _context.SaveChangesAsync(); var bookings = await _context.Set <Booking>() .Include(x => x.User) .Where(x => x.Date.Date == data.date.Date && x.UserId != null && x.ServiceId == data.ServiceId) .OrderBy(x => x.User.Surname) .ToListAsync(); var mappedResult = ParseToCheckedInMemeberDTO(bookings); await _hubContext.Clients.All.ReceivedBookingsToSignInUpdateAsync(mappedResult); return(Ok(MapToSignInOutResponseDTO(result, true))); }
public async Task <ActionResult> SignOut(SignInOutDTO dto) { var studentId = await GetStudentId(); if (studentId == null) { return(Error()); } var studentSection = _dbContext.StudentSections .Where(x => x.SectionID == dto.Id) .Where(x => x.StudentID == studentId) .FirstOrDefault(); if (studentSection == null) { return(Error()); } _dbContext.Entry(studentSection).State = EntityState.Deleted; _dbContext.SaveChanges(); return(RedirectToAction(nameof(FindSections))); }