コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }