public SessionModel Build(Session session, bool allowModify)
 {
     return(new SessionModel
     {
         Events = eventModelBuilder.BuildDateSorted(session.Events, session.Id, allowModify).ToList(),
         SessionInfo = new SessionInfoModel {
             SessionId = session.Id, SessionCreateDate = session.CreateDate, SessionName = session.Name
         }
     });
 }
Esempio n. 2
0
        public IActionResult Voting(Guid sessionId)
        {
            var session = sessionsRepository.Get(sessionId);
            var events  = eventModelBuilder.BuildDateSorted(session.Events, sessionId, authTokenHelper.IsAdmin())
                          .ToList();

            if (!events.Any())
            {
                return(RedirectToAction("AddEvent", "Interaction", new { sessionId }));
            }

            return(View(new SessionModel
            {
                Events = events,
                SessionInfo = new SessionInfoModel
                {
                    SessionId = session.Id,
                    SessionCreateDate = session.CreateDate,
                    SessionName = session.Name
                }
            }));
        }
Esempio n. 3
0
        public IActionResult Session(Guid sessionId, EventFilterType filterType = EventFilterType.All)
        {
            var session     = sessionsRepository.Get(sessionId);
            var allowModify = authTokenHelper.IsAdmin();
            IEnumerable <TimelineEventModel> events;

            switch (filterType)
            {
            case EventFilterType.All:
                events = eventModelBuilder.BuildDateSorted(session.Events, sessionId, allowModify);
                break;

            case EventFilterType.Positive:
                events = eventModelBuilder.BuildPositive(session, allowModify);
                break;

            case EventFilterType.Debatable:
                events = eventModelBuilder.BuildDebatable(session, allowModify);
                break;

            case EventFilterType.Negative:
                events = eventModelBuilder.BuildNegative(session, allowModify);
                break;

            case EventFilterType.Discussable:
                events = eventModelBuilder.BuildToBeDiscussed(session, allowModify);
                break;

            default:
                return(NotFound());
            }

            return(View(new SessionModel
            {
                Events = events.ToList(),
                EventFilterType = filterType,
                SessionInfo = new SessionInfoModel
                {
                    SessionId = session.Id,
                    SessionCreateDate = session.CreateDate,
                    SessionName = session.Name
                }
            }));
        }