public ActionResult Index(bool archive = false, int page = 1)
{
DateTime ArchiveDate = DateTime.Now;
var model = new EventsListViewModel();
int numberOfEvents = 0;
if (archive)
{
numberOfEvents = eventRepository.Events.Where(x => x.StartTime <= ArchiveDate).Count();
model.Events = eventRepository.Events.Where(x => x.StartTime <= ArchiveDate).OrderBy(x => x.Name).Skip((page - 1) * PageSize).Take(PageSize);
model.Archive = true;
}
else
{
numberOfEvents = eventRepository.Events.Where(x => x.StartTime >= ArchiveDate).Count();
model.Events = eventRepository.Events.Where(x => x.StartTime >= ArchiveDate).OrderBy(x => x.Name).Skip((page - 1) * PageSize).Take(PageSize);
}
PagingInfo pi = new PagingInfo
{
CurrentPage = page,
Archive = model.Archive,
ItemsPerPage = PageSize,
TotalItems = numberOfEvents
};
model.PagingInfo = pi;
return View(model);
}