public ActionResult Details(int id) { var gig = _context.Gigs .Include(g => g.Artist) .Include(g => g.Genre) .SingleOrDefault(g => g.Id == id); if (gig == null) { return(HttpNotFound()); } var viewModel = new GigDetailsViewModel() { Gig = gig }; if (User.Identity.IsAuthenticated) { var userId = User.Identity.GetUserId(); viewModel.IsAttending = _attendanceRepository.GetAttendances(gig.Id, userId) != null; viewModel.IsFollowing = _followingRepository.GetFollowing(gig.ArtistId, userId) != null; } return(View("Details", viewModel)); }
private void UpdateMultipleAttendances(DateTime visitedDateTime, int attendeeId, int attendanceId) { var attendances = AttendanceRepository.GetAttendances().Where(a => a.VisitedDateTime.Year <= visitedDateTime.Year && a.VisitedDateTime.Month <= visitedDateTime.Month && a.VisitedDateTime.Day <= visitedDateTime.Day && a.VisitedDateTime.Date >= visitedDateTime.Date.AddDays(-14) && a.PlaceId == Helpers.PlaceHelper.PlaceId); var attendancesWherePositiveAttendeeExists = attendances.Where(a => a.AttendeeId == attendeeId).GroupBy(a => a.VisitedDateTime.Date).Select(a => a.First()).ToList(); var datesWhenPositiveAttendeeExists = attendancesWherePositiveAttendeeExists.Select(a => a.VisitedDateTime.Date); foreach (var date in datesWhenPositiveAttendeeExists) { foreach (var attendance in attendances) { if (attendance.Id != attendanceId && attendance.Status != "POSITIVE" && attendance.VisitedDateTime.Date == date.Date) { AttendanceRepository.UpdateAttendanceStatus(new Attendance { Id = attendance.Id, Status = "PUI" }); AttendeeRepository.UpdateAttendeeStatus(new Attendee { Id = attendance.AttendeeId, Status = "PUI" }); } if (attendance.AttendeeId == attendeeId && attendance.VisitedDateTime.Date == date.Date) { AttendanceRepository.UpdateAttendanceStatus(new Attendance { Id = attendance.Id, Status = "POSITIVE" }); AttendeeRepository.UpdateAttendeeStatus(new Attendee { Id = attendance.AttendeeId, Status = "POSITIVE" }); } } } }
private List <AttendanceDto> GetAttendances() { var attendances = AttendanceRepository.GetAttendances(); return(attendances.ToList()); }