Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }