Ejemplo n.º 1
0
        public ActionResult Index(string name, string city, string street, GridSortOptions gridSortOptions, [DefaultValue(1)] int page)
        {
            // Pobranie listy użtkowników
            var providersList = _providerRepo.GetAllServiceProviders();

            // Ograniczenie listy użtkowników do potwierdzonych dla użytkowników zalogowanych innych niż administrator
            if (!Roles.GetRolesForUser(WebSecurity.CurrentUserName).Contains("Administrator"))
            {
                providersList = providersList.Where(a => a.IsConfirmed);
            }

            // Ustawienie domyślnej kolumny sortowania
            if (string.IsNullOrWhiteSpace(gridSortOptions.Column))
            {
                gridSortOptions.Column = "Id";
            }

            // Filtrowanie po nazwie
            if (!string.IsNullOrWhiteSpace(name))
            {
                providersList = providersList.Where(a => a.Name.Contains(name));
            }

            // Filtrowanie po mieście
            if (!string.IsNullOrWhiteSpace(city))
            {
                providersList = providersList.Where(a => a.City.Contains(city));
            }

            // Filtrowanie po ulicy
            if (!string.IsNullOrWhiteSpace(street))
            {
                providersList = providersList.Where(a => a.Street.Contains(street));
            }

            var providerFilterViewModel = new ServiceProviderFilterViewModel();

            // Sortowanie listy użtkowników oraz stronicowanie
            var providerPagedList = providersList.OrderBy(gridSortOptions.Column, gridSortOptions.Direction)
                                    .AsPagination(page, 5);

            var providerListContainer = new ServiceProviderListContainerViewModel
            {
                ServiceProviderPagedList       = providerPagedList,
                ServiceProviderFilterViewModel = providerFilterViewModel,
                GridSortOptions = gridSortOptions
            };

            return(View(providerListContainer));
        }
Ejemplo n.º 2
0
        public ActionResult Index(string Name, string City, string Street, GridSortOptions sort,
                                  [DefaultValue(1)] int page)
        {
            IQueryable <ServiceProviderViewModel> providers = _serviceProviderRepo.GetAllServiceProvider();

            if (!User.IsInRole("administrator"))
            {
                providers.Where(s => s.IsConfirmed == true);
            }

            if (string.IsNullOrWhiteSpace(sort.Column))
            {
                sort.Column = "ServiceProviderId";
            }

            if (!string.IsNullOrWhiteSpace(Name))
            {
                providers = providers.Where(c => c.Name.Contains(Name));
            }

            if (!string.IsNullOrWhiteSpace(City))
            {
                providers = providers.Where(c => c.City.Contains(City));
            }

            if (!string.IsNullOrWhiteSpace(Street))
            {
                providers = providers.Where(c => c.Street.Contains(Street));
            }

            //potrzebna przestrzen nazw using MvcContrib.Sorting;  using MvcContrib.Pagination;
            var serviceProviderPagedList = providers.OrderBy(sort.Column, sort.Direction).AsPagination(page, 5);

            ServiceProviderFilterViewModel serviceProviderFilterViewModel = new ServiceProviderFilterViewModel();

            ServiceProviderListContainerViewModel customerListContainerViewModel = new ServiceProviderListContainerViewModel
            {
                ServiceProviderPagedList       = serviceProviderPagedList,
                ServiceProviderFilterViewModel = serviceProviderFilterViewModel,
                GridSortOptions = sort
            };

            return(View(customerListContainerViewModel));
        }