示例#1
0
        public ActionResult FilterCategoryId2(ModelForCosmeticFilter obj)
        {
            CosmeticFilter        filt      = Mapper.Map <CosmeticFilter>(obj);
            IQueryable <Cosmetic> Cosmetics = CosmeticRepo.GetProductByFilters(filt);

            Cosmetics.ToList().ForEach(x => x.PriceToShow = BuildPrice(x.NewPrice));
            return(PartialView("GetProductsToClient", Cosmetics));
        }
示例#2
0
        //-----------------------------------------
        //Выбираем товары по переданным значениям из фильтра
        public IQueryable <Cosmetic> GetProductByFilters(CosmeticFilter obj)
        {
            IQueryable <Cosmetic> Cosmetics = GetAllProductsFromBase;

            //Переданы пустые значение в фильтре
            if (obj.Eyes == false && obj.Sourcils == false && obj.Lips == false && obj.Nails == false && obj.Tonic == false && obj.Blusher == false && obj.Correctors == false && obj.Eye_Shadow == false && obj.Eyeliner == false && obj.Foundation == false && obj.Liner == false && obj.Lip_Gloss == false && obj.Lip_Liner == false && obj.Lipstick == false && obj.Makeup_Base == false && obj.Mascara == false && obj.Nail_Care == false && obj.Nail_Polish == false && obj.Nail_Polish_Remover == false && obj.Powder == false)
            {
                foreach (var item in Cosmetics)
                {
                    item.Colors = colorRepo.GetAllColorsFromBase(item.ProductId, item.CategoryId).ToList();
                }
                return(Cosmetics);
            }

            else
            {
                List <Cosmetic> Result = new List <Cosmetic>();

                IQueryable <Cosmetic> Eyes;                //Все для глаз
                IQueryable <Cosmetic> Mascara;             //Тушь
                IQueryable <Cosmetic> Liner;               // Подводка
                IQueryable <Cosmetic> Eyeliner;            //Контурные карандаши для глаз
                IQueryable <Cosmetic> Eye_Shadow;          //Тени для век

                IQueryable <Cosmetic> Sourcils;            //Все для бровей

                IQueryable <Cosmetic> Lips;                //Все для губ
                IQueryable <Cosmetic> Lipstick;            //Помада
                IQueryable <Cosmetic> Lip_Gloss;           //Блеск для губ
                IQueryable <Cosmetic> Lip_Liner;           //Контурные карандаши для губ

                IQueryable <Cosmetic> Tonic;               //Тональные средства
                IQueryable <Cosmetic> Foundation;          //Тональный крем
                IQueryable <Cosmetic> Powder;              //Пудра
                IQueryable <Cosmetic> Correctors;          //Корректоры
                IQueryable <Cosmetic> Makeup_Base;         //Основа под макияж
                IQueryable <Cosmetic> Blusher;             //Румяна

                IQueryable <Cosmetic> Nails;               //Все для ногтей
                IQueryable <Cosmetic> Nail_Polish;         //Лаки
                IQueryable <Cosmetic> Nail_Care;           //Уход за ногтями
                IQueryable <Cosmetic> Nail_Polish_Remover; //Жидкость для снятия лака


                //Выбираем все для глаз
                if (obj.Eyes && obj.Mascara == false && obj.Liner == false && obj.Eyeliner == false && obj.Eye_Shadow == false)
                {
                    Eyes   = Cosmetics.Where(cosmetic => cosmetic.Type == "Для глаз");
                    Result = Result.Concat(Eyes).ToList();
                }

                //фильтр по подтипу
                //для глаз
                if (obj.Mascara)
                {
                    Mascara = from cosmetic in Cosmetics
                              where (cosmetic.SubType == "Тушь для ресниц")
                              select cosmetic;
                    Result = Result.Concat(Mascara).ToList();
                }


                if (obj.Liner)
                {
                    Liner = from cosmetic in Cosmetics
                            where (cosmetic.SubType == "Подводка")
                            select cosmetic;
                    Result = Result.Concat(Liner).ToList();
                }


                if (obj.Eyeliner)
                {
                    Eyeliner = from cosmetic in Cosmetics
                               where (cosmetic.SubType == "Контурные карандаши для глаз")
                               select cosmetic;
                    Result = Result.Concat(Eyeliner).ToList();
                }


                if (obj.Eye_Shadow)
                {
                    Eye_Shadow = from cosmetic in Cosmetics
                                 where (cosmetic.SubType == "Тени для век")
                                 select cosmetic;
                    Result = Result.Concat(Eye_Shadow).ToList();
                }

                //Выбираем все для бровей
                if (obj.Sourcils)
                {
                    Sourcils = Cosmetics.Where(cosmetic => cosmetic.Type == "Для бровей");
                    Result   = Result.Concat(Sourcils).ToList();
                }

                //Выбираем все для губ
                if (obj.Lips && obj.Lipstick == false && obj.Lip_Gloss == false && obj.Lip_Liner == false)
                {
                    Lips   = Cosmetics.Where(cosmetic => cosmetic.Type == "Для губ");
                    Result = Result.Concat(Lips).ToList();
                }
                //для губ
                if (obj.Lipstick)
                {
                    Lipstick = from cosmetic in Cosmetics
                               where (cosmetic.SubType == "Помада")
                               select cosmetic;
                    Result = Result.Concat(Lipstick).ToList();
                }


                if (obj.Lip_Gloss)
                {
                    Lip_Gloss = from cosmetic in Cosmetics
                                where (cosmetic.SubType == "Блеск для губ")
                                select cosmetic;
                    Result = Result.Concat(Lip_Gloss).ToList();
                }


                if (obj.Lip_Liner)
                {
                    Lip_Liner = from cosmetic in Cosmetics
                                where (cosmetic.SubType == "Контурные карандаши для губ")
                                select cosmetic;
                    Result = Result.Concat(Lip_Liner).ToList();
                }


                //Выбираем все тональные средства
                if (obj.Tonic && obj.Foundation == false && obj.Powder == false && obj.Correctors == false && obj.Makeup_Base == false && obj.Blusher == false)
                {
                    Tonic  = Cosmetics.Where(cosmetic => cosmetic.Type == "Тональные средства");
                    Result = Result.Concat(Tonic).ToList();
                }
                //тональные средства
                if (obj.Foundation)
                {
                    Foundation = from cosmetic in Cosmetics
                                 where (cosmetic.SubType == "Тональный крем")
                                 select cosmetic;
                    Result = Result.Concat(Foundation).ToList();
                }


                if (obj.Powder)
                {
                    Powder = from cosmetic in Cosmetics
                             where (cosmetic.SubType == "Пудра")
                             select cosmetic;
                    Result = Result.Concat(Powder).ToList();
                }


                if (obj.Correctors)
                {
                    Correctors = from cosmetic in Cosmetics
                                 where (cosmetic.SubType == "Корректоры")
                                 select cosmetic;
                    Result = Result.Concat(Correctors).ToList();
                }


                if (obj.Makeup_Base)
                {
                    Makeup_Base = from cosmetic in Cosmetics
                                  where (cosmetic.SubType == "Основа под макияж")
                                  select cosmetic;
                    Result = Result.Concat(Makeup_Base).ToList();
                }


                if (obj.Blusher)
                {
                    Blusher = from cosmetic in Cosmetics
                              where (cosmetic.SubType == "Румяна")
                              select cosmetic;
                    Result = Result.Concat(Blusher).ToList();
                }

                //Выбираем все для ногтей
                if (obj.Nails && obj.Nail_Polish == false && obj.Nail_Care == false && obj.Nail_Polish_Remover == false)
                {
                    Nails  = Cosmetics.Where(cosmetic => cosmetic.Type == "Для ногтей");
                    Result = Result.Concat(Nails).ToList();
                }
                //для ногтей
                if (obj.Nail_Polish)
                {
                    Nail_Polish = from cosmetic in Cosmetics
                                  where (cosmetic.SubType == "Лаки")
                                  select cosmetic;
                    Result = Result.Concat(Nail_Polish).ToList();
                }

                if (obj.Nail_Care)
                {
                    Nail_Care = from cosmetic in Cosmetics
                                where (cosmetic.SubType == "Уход за ногтями")
                                select cosmetic;
                    Result = Result.Concat(Nail_Care).ToList();
                }

                if (obj.Nail_Polish_Remover)
                {
                    Nail_Polish_Remover = from cosmetic in Cosmetics
                                          where (cosmetic.SubType == "Жидкость для снятия лака")
                                          select cosmetic;
                    Result = Result.Concat(Nail_Polish_Remover).ToList();
                }

                foreach (var item in Result)
                {
                    item.Colors = colorRepo.GetAllColorsFromBase(item.ProductId, item.CategoryId).ToList();
                }
                return(Result.AsQueryable());
            }
        }