public IActionResult BikesOfCurrentProvider(string providerId) { var res = _bikeService.GetBikesOfCurrentProvider(providerId); return(View(res)); }
public IActionResult Index(string name, int page = 1, SortState sortOrder = SortState.NameAsc) { var currentUserName = User.Identity.Name; var userId = _userManagerService.GetUserByName(currentUserName); int pageSize = 10; var source = _bikeService.GetBikesOfCurrentProvider(userId.Result.Id); if (!String.IsNullOrEmpty(name)) { source = source.Where(p => p.Name.Contains(name)); } switch (sortOrder) { case SortState.NameDesc: source = source.OrderByDescending(s => s.Name); break; case SortState.MaxSpeedAsc: source = source.OrderBy(s => s.MaxSpeed); break; case SortState.MaxSpeedDesc: source = source.OrderByDescending(s => s.MaxSpeed); break; case SortState.TypeEngineAsc: source = source.OrderBy(s => s.TypeEngine); break; case SortState.TypeEngineDesc: source = source.OrderByDescending(s => s.TypeEngine); break; case SortState.PowerAsc: source = source.OrderBy(s => s.Power); break; case SortState.PowerDesc: source = source.OrderByDescending(s => s.Power); break; case SortState.FuelAsc: source = source.OrderBy(s => s.Fuel); break; case SortState.FuelDesc: source = source.OrderByDescending(s => s.Fuel); break; case SortState.PriceAsc: source = source.OrderBy(s => s.Price); break; case SortState.PriceDesc: source = source.OrderByDescending(s => s.Price); break; default: source = source.OrderBy(s => s.Name); break; } var count = source.Count(); var items = source.Skip((page - 1) * pageSize).Take(pageSize).ToList(); PageViewModel pageViewModel = new PageViewModel(count, page, pageSize); BikeViewModel viewModel = new BikeViewModel { PageViewModel = pageViewModel, BikeFilterViewModel = new BikeFilterViewModel(name), BikeSortViewModel = new BikeSortViewModel(sortOrder), Bikes = items }; return(View(viewModel)); }