Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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"
                        });
                    }
                }
            }
        }
Esempio n. 3
0
        private List <AttendanceDto> GetAttendances()
        {
            var attendances = AttendanceRepository.GetAttendances();

            return(attendances.ToList());
        }