Exemple #1
0
        public static IQueryable <CustomersListDto> FilterItemsBy(
            this IQueryable <CustomersListDto> customers, CustomesFiltersBy filterBy, string filterValue)
        {
            if (string.IsNullOrEmpty(filterValue))
            {
                return(customers);
            }

            switch (filterBy)
            {
            case CustomesFiltersBy.NoFilter:
                return(customers);

            case CustomesFiltersBy.ByFirstNames:
                var filterFirstname = filterValue;
                return(customers.Where(x => x.FisrtName.StartsWith(filterFirstname)));

            case CustomesFiltersBy.ByLastNames:
                var filterLastName = filterValue;
                return(customers.Where(x => x.LastName.StartsWith(filterLastName)));

            case CustomesFiltersBy.ByPhoneNumber:
                var filterPhoneNumber = filterValue;
                return(customers.Where(x => x.PhoneNumber.StartsWith(filterPhoneNumber)));

            default:
                throw new ArgumentOutOfRangeException
                          (nameof(filterBy), filterBy, null);
            }
        }
Exemple #2
0
        public IEnumerable <DropdownTuple> GetFilterDropDownValues(CustomesFiltersBy filterBy)
        {
            switch (filterBy)
            {
            case CustomesFiltersBy.NoFilter:
                return(new List <DropdownTuple>());

            case CustomesFiltersBy.ByFirstNames:
                return(FormVotesDropDown());

            case CustomesFiltersBy.ByLastNames:
                var result = _context.Customers.Select(c => c.LastName)
                             .Select(c => new DropdownTuple

                {
                    Value = c.ToString(),
                    Text  = c.ToString()
                });

                return(result);

            case CustomesFiltersBy.ByPhoneNumber:
                result = _context.Customers.Select(c => c.PhoneNumber)
                         .Select(c => new DropdownTuple

                {
                    Value = c.ToString(),
                    Text  = c.ToString()
                });

                return(result);

            default:
                throw new ArgumentOutOfRangeException(nameof(filterBy), filterBy, null);
            }
        }