예제 #1
0
        public List <OfferBll> GetAllOffers(ParametersBll parametersBll)
        {
            List <OfferBll> offers = new List <OfferBll>();

            foreach (Offer offer in _dataSource.GetAllOffers())
            {
                offers.Add(FactoryClass.CreateChild(offer));
            }
            return(offers.GetRange((parametersBll.Page - 1) * parametersBll.PageSize, parametersBll.PageSize));
        }
예제 #2
0
        public List <OfferBll> Sort(ParametersBll parameters, List <OfferBll> offers)
        {
            switch (parameters.PriceFilter)
            {
            case "Up":
                return(SortPriceUp(offers));

            case "Down":
                return(SortPriceDown(offers));

            case "Sort":
                return(offers);

            default:
                throw new Exception("Incorrect filter!");
            }
        }
예제 #3
0
        public int GetOffersCount(ParametersBll parameters)
        {
            switch (parameters.TypeFilter)
            {
            case "All types":
                return(_dataSource.GetOffersCount());

            case "Minivan":
                return(_dataSource.GetMinivansCount());

            case "Sport car":
                return(_dataSource.GetSportCarsCount());

            case "Out-road car":
                return(_dataSource.GetOutroadCarsCount());

            default:
                throw new Exception("Incorrect type");
            }
        }
예제 #4
0
        public List <OfferBll> GetSelectedTypes(ParametersBll parameters)
        {
            List <OfferBll> offerBll = new List <OfferBll>();

            switch (parameters.TypeFilter)
            {
            case "All types":
                return(GetAllOffers());

            case "Minivan":
                foreach (var offer in GetAllMinivanOffers())
                {
                    offerBll.Add(offer);
                }
                break;

            case "Sport car":
                foreach (var offer in GetAllSportCarOffers())
                {
                    offerBll.Add(offer);
                }
                break;

            case "Out-road car":
                foreach (var offer in GetAllOutroadCarOffersOffers())
                {
                    offerBll.Add(offer);
                }
                break;

            default:
                throw new Exception("Incorrect type");
            }

            return(offerBll);
        }
예제 #5
0
 public List <CustomerBll> GetCurrentPageCustomers(List <CustomerBll> customers, ParametersBll parameters) =>
 customers.Skip((parameters.Page - 1) * parameters.PageSize).Count() >= parameters.PageSize ?
 customers.GetRange((parameters.Page - 1) * parameters.PageSize, parameters.PageSize) :
 customers.Skip((parameters.Page - 1) * parameters.PageSize).ToList();
예제 #6
0
 public List <OfferBll> GetCurrentPageItems(List <OfferBll> offers, ParametersBll parameters) =>
 offers.Skip((parameters.Page - 1) * parameters.PageSize).Count() >= parameters.PageSize ?
 offers.GetRange((parameters.Page - 1) * parameters.PageSize, parameters.PageSize):
 offers.Skip((parameters.Page - 1) * parameters.PageSize).ToList();