public ViewResult ActivityIndex(string searchString) { var activities = _activityManager.GetAllActivitiesWithSessions(); if (!string.IsNullOrEmpty(searchString)) { activities = activities.Where(s => s.Name.ToLower().Contains(searchString.ToLower())); } var result = new IndexActivityViewModel() { Activities = new List <ActivityWithCountOfSessions>() }; foreach (var activity in activities) { result.Activities.Add(new ActivityWithCountOfSessions { ActivityId = activity.Id, Name = activity.Name, SessionCount = activity.Sessions.Count }); } return(View(result)); }
public async Task <IActionResult> Index(string sortLayout = "", string filterString = "") { List <ActivityModel> list; switch (sortLayout) { case "ActivityID_asc": list = await _context.Activity.OrderBy(e => e.ActivityID).ToListAsync(); break; case "ActivityID_desc": list = await _context.Activity.OrderByDescending(e => e.ActivityID).ToListAsync(); break; case "Name_asc": list = await _context.Activity.OrderBy(e => e.Name).ToListAsync(); break; case "Name_desc": list = await _context.Activity.OrderByDescending(e => e.Name).ToListAsync(); break; case "DayOfWeek_asc": list = await _context.Activity.OrderBy(e => e.DayOfWeek).ToListAsync(); break; case "DayOfWeek_desc": list = await _context.Activity.OrderByDescending(e => e.DayOfWeek).ToListAsync(); break; case "TimeOfDay_asc": list = await _context.Activity.OrderBy(e => e.TimeOfDay).ToListAsync(); break; case "TimeOfDay_desc": list = await _context.Activity.OrderByDescending(e => e.TimeOfDay).ToListAsync(); break; case "Hours_asc": list = await _context.Activity.OrderBy(e => e.Hours).ToListAsync(); break; case "Hours_desc": list = await _context.Activity.OrderByDescending(e => e.Hours).ToListAsync(); break; case "Importance_asc": list = await _context.Activity.OrderBy(e => e.Importance).ToListAsync(); break; case "Importance_desc": list = await _context.Activity.OrderByDescending(e => e.Importance).ToListAsync(); break; case "Owner_asc": list = await _context.Activity.OrderBy(e => e.Owner).ToListAsync(); break; case "Owner_desc": list = await _context.Activity.OrderByDescending(e => e.Owner).ToListAsync(); break; default: list = await _context.Activity.ToListAsync(); break; } if (filterString != null && filterString != "") { list = list.Where(e => e.ActivityID.ToString().Contains(filterString, StringComparison.OrdinalIgnoreCase) || e.Name.Contains(filterString, StringComparison.OrdinalIgnoreCase) || e.DayOfWeek.ToString().Contains(filterString, StringComparison.OrdinalIgnoreCase) || e.TimeOfDay.ToString().Contains(filterString, StringComparison.OrdinalIgnoreCase) || e.Hours.ToString().Contains(filterString, StringComparison.OrdinalIgnoreCase) || e.Importance.ToString().Contains(filterString, StringComparison.OrdinalIgnoreCase) || e.Owner.Contains(filterString, StringComparison.OrdinalIgnoreCase)).ToList(); } var viewModel = new IndexActivityViewModel { ActivityModels = list, SortLayout = sortLayout, FilterString = filterString }; return(View(viewModel)); }