Example #1
0
        public IActionResult Index()
        {
            User user = new User();

            user = authProvider.GetCurrentUser();

            Event eventItem = new Event();

            eventItem.Podcast       = new Podcast();
            eventItem.Podcast.Genre = new Genre();


            SearchViewModel model = new SearchViewModel
            {
                Event         = eventItem,
                VenueList     = GetVenueList(),
                GenreList     = GetGenreList(),
                TicketList    = GetTicketList(),
                PodcastList   = GetPodcastList(),
                TimeOfDayList = GetTimeOfDay(),
                User          = user,
                UserFav       = new Dictionary <int, bool>()
            };

            model.EventList = eventSqlDal.GetFutureEvents(eventItem, user);


            foreach (Event item in model.EventList)
            {
                item.Venue         = venueSqlDal.GetVenue(item.VenueID);
                item.Podcast       = podcastSqlDal.GetPodcast(item.PodcastID);
                item.Podcast.Genre = genreSqlDal.GetGenreEventID(item.EventID);
                item.Ticket        = ticketSqlDal.GetTicket(item.TicketLevel);
            }

            model.ArchivedEventList = eventSqlDal.GetPastEvents(eventItem, user);
            foreach (Event item in model.ArchivedEventList)
            {
                item.Venue         = venueSqlDal.GetVenue(item.VenueID);
                item.Podcast       = podcastSqlDal.GetPodcast(item.PodcastID);
                item.Podcast.Genre = genreSqlDal.GetGenreEventID(item.EventID);
                item.Ticket        = ticketSqlDal.GetTicket(item.TicketLevel);
            }

            model.EventListByDay = model.EventList
                                   .GroupBy(p => p.Beginning.Date)
                                   .Select(g => g.ToList())
                                   .ToList();

            List <Event> userEvents = eventSqlDal.GetUserEvents(user);

            foreach (Event item in userEvents)
            {
                model.UserFav.Add(item.EventID, true);
            }

            return(View(model));
        }
        //[HttpGet]
        //[AuthorizationFilter("2")]  //user
        //public IActionResult AddMyEvent(int id)
        //{
        //    User user = authProvider.GetCurrentUser();
        //    List<Event> allMyEvents = eventSqlDal.GetUserEvents(user);

        //    foreach (Event eventItem in allMyEvents)
        //    {
        //        if (7 == eventItem.EventID)  //TODO remove
        //        {
        //            return View("EventDetail");
        //        }
        //        else
        //        {
        //            bool result = userEventSqlDal.AddMyEvent(user.UserID, eventItem);


        //        }

        //    }


        //    return View();//TODO remove this

        //}

        public IActionResult MySchedule()
        {
            User         user     = authProvider.GetCurrentUser();
            List <Event> myEvents = eventSqlDal.GetUserEvents(user);

            return(View(myEvents));
        }
        public IActionResult EventDetail(int id = 1)  //do not change variable name id due to routing
        {
            User user = authProvider.GetCurrentUser();

            EventViewModel model = new EventViewModel
            {
                EventItem = PopulateEventDetails(id),
                User      = user,
                UserFav   = new Dictionary <int, bool>()
            };

            List <Event> userEvents = eventSqlDal.GetUserEvents(user);

            foreach (Event item in userEvents)
            {
                model.UserFav.Add(item.EventID, true);
            }

            return(View(model));
        }