Exemplo n.º 1
0
        private int GetRegisteredCount(DateTime date)
        {
            var events = _eventRepository.ListByDate(date);

            int total = 0;

            foreach (var eventItem in events)
            {
                int count = _registrationRepository.GetRegisteredCount(eventItem);
                total += count;
            }

            return(total);
        }
Exemplo n.º 2
0
        public IHttpActionResult GetByDate(string date)
        {
            var items = _eventRepository.ListByDate(DateTime.Parse(date)).Where(x => x.MaximumNumberOfVisitors > 0);

            var events = new List <EventViewModel>();

            foreach (var eventItem in items)
            {
                int pendingCount    = _registrationRepository.GetPendingCount(eventItem);
                int registeredCount = _registrationRepository.GetRegisteredCount(eventItem);
                int visitedCount    = _registrationRepository.GetVisitedCount(eventItem);

                string themeTitle = "";
                if (eventItem.Theme != null)
                {
                    Theme theme = _themeRepository.GetById(eventItem.Theme.Id);
                    if (theme != null)
                    {
                        themeTitle = theme.Title.ToUpper();
                    }
                }

                events.Add(new EventViewModel()
                {
                    Id         = eventItem.Id,
                    Registered = registeredCount,
                    MaxPersons = eventItem.MaximumNumberOfVisitors,
                    Available  = eventItem.MaximumNumberOfVisitors - registeredCount,
                    Pending    = pendingCount,
                    StartTime  = eventItem.TimeRange.Start.ToShortTimeString(),
                    EndTime    = eventItem.TimeRange.End.ToShortTimeString(),
                    Visited    = visitedCount,
                    ThemeTitle = themeTitle,
                });
            }

            return(Ok(events));
        }