Example #1
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));
        }
Example #2
0
        // GET: Event
        public ActionResult Index(string date = null)
        {
            var currentDate = DateTime.Now;

            if (!String.IsNullOrEmpty(date))
            {
                currentDate = DateTime.Parse(date);
            }

            var firstDayOfTheMonth = new DateTime(currentDate.Year, currentDate.Month, 1);
            var lastDayOfTheMonth  = new DateTime(currentDate.Year, currentDate.Month, DateTime.DaysInMonth(currentDate.Year, currentDate.Month));

            DateTime startDate = firstDayOfTheMonth.AddDays(-(int)firstDayOfTheMonth.DayOfWeek + 1);

            var days = new List <CalendarDay>();

            for (int j = 0; j < 42; j++)
            {
                DateTime day = startDate.AddDays(j);

                var maxPersons = _eventRepository.GetMaxPersonsByDate(day);
                days.Add(new CalendarDay()
                {
                    Date        = day,
                    IsVisible   = day >= firstDayOfTheMonth && day <= lastDayOfTheMonth,
                    MaxPersons  = _eventRepository.GetMaxPersonsByDate(day),
                    IsAvailable = maxPersons > 0,
                    IsPast      = day < currentDate,
                    IsToday     = day.ToShortDateString() == DateTime.Now.ToShortDateString()
                });
            }

            var calendarMonth = new CalendarMonth()
            {
                Title        = Months[currentDate.Month - 1] + " " + currentDate.Year,
                CalendarDays = days
            };

            IEnumerable <Event> items = _eventRepository.ListByDate(currentDate);

            var events = new List <EventViewModel>();

            foreach (var eventItem in items)
            {
                events.Add(new EventViewModel()
                {
                    Id         = eventItem.Id,
                    StartTime  = eventItem.TimeRange.Start.ToString("hh:mm"),
                    EndTime    = eventItem.TimeRange.End.ToString("hh:mm"),
                    MaxPersons = eventItem.MaximumNumberOfVisitors,
                    Visited    = _registrationRepository.GetVisitedCount(eventItem)
                });
            }

            var listViewModel = new EventListViewModel()
            {
                Date   = currentDate,
                Events = events,
                Month  = calendarMonth
            };

            return(View(listViewModel));
        }