public ActionResult Details(int id, string ServiceName, string ServiceContent, int?CategoryId, GridSortOptions sort, [DefaultValue(1)] int page) { ServiceProvider provider = _serviceProviderRepo.GetServiceProviderById(id); IQueryable <ServiceViewModel> servicesList = _serviceRepo.GetActiveServiceViewModelByUserId(provider.UserId); if (string.IsNullOrWhiteSpace(sort.Column)) { sort.Column = "ServiceId"; } if (!string.IsNullOrWhiteSpace(ServiceName)) { servicesList = servicesList.Where(c => c.Name.Contains(ServiceName)); } if (!string.IsNullOrWhiteSpace(ServiceContent)) { servicesList = servicesList.Where(c => c.Content.Contains(ServiceContent)); } if (CategoryId != null) { servicesList = servicesList.Where(c => c.CategoryId == CategoryId); } //utworzenie modelu do filtrowania ServiceFilterViewModel serviceFilterViewModel = new ServiceFilterViewModel(); serviceFilterViewModel.SelectedCategoryId = CategoryId ?? -1; serviceFilterViewModel.Fill(); //stronicowanie i sortowanie uslug IPagination <ServiceViewModel> servicesPagedList = servicesList.OrderBy(sort.Column, sort.Direction).AsPagination(page, 10); ServiceListContainerViewModel serviceListContainerViewModel = new ServiceListContainerViewModel { GridSortOptions = sort, ServiceFilterViewModel = serviceFilterViewModel, ServicePagedList = servicesPagedList }; //utworzenie zbiorczego kontenera dla uslugodawcy i dla uslug ServiceProviderServicesListViewModel serviceProviderServicesListViewModel = new ServiceProviderServicesListViewModel { ServiceProvider = provider, Services = serviceListContainerViewModel }; return(View(serviceProviderServicesListViewModel)); }
public ActionResult Index(string ServiceName, string ServiceContent, int?ServiceProviderId, int?CategoryId, GridSortOptions sort, [DefaultValue(1)] int page) { IQueryable <ServiceViewModel> serviceList = _serviceRepo.GetAllActiveService(); if (User.IsInRole("administrator")) { serviceList = _serviceRepo.GetAllService(); } if (string.IsNullOrWhiteSpace(sort.Column)) { sort.Column = "ServiceId"; } if (ServiceProviderId.HasValue) { serviceList = serviceList.Where(s => s.ServiceId == ServiceProviderId); } if (CategoryId.HasValue) { serviceList = serviceList.Where(s => s.CategoryId == CategoryId); } if (!string.IsNullOrWhiteSpace(ServiceName)) { serviceList = serviceList.Where(s => s.Name.Contains(ServiceName)); } if (!string.IsNullOrWhiteSpace(ServiceContent)) { serviceList = serviceList.Where(s => s.Content.Contains(ServiceContent)); } ServiceFilterViewModel serviceFilterViewModel = new ServiceFilterViewModel(); serviceFilterViewModel.SelectedCategoryId = CategoryId ?? -1; serviceFilterViewModel.SelectedServiceProviderId = ServiceProviderId ?? -1; serviceFilterViewModel.Fill(); IPagination <ServiceViewModel> serivcePagedList = serviceList.OrderBy(sort.Column, sort.Direction).AsPagination(page, 5); ServiceListContainerViewModel serviceListContainer = new ServiceListContainerViewModel { ServicePagedList = serivcePagedList, ServiceFilterViewModel = serviceFilterViewModel, GridSortOptions = sort }; return(View(serviceListContainer)); }