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)); }