حرفه ای: فیلتربندی

ساخت وبلاگ

سلام
ممنون میشم سوالمو جواب بدین!!!
این فیلتر بندی که در عکس هست اولا آیا داینامیک هست؟ یعنی آدمین میتونه اضاف یا کم کنه؟
بعد اینکه آیا همه ی این فیلتر ها در یک جدول هستند؟ مثلا جدول tbl_filter ؟
Screenshot (15).png

من یه جدول در نظر گرفتم ولی یه مشکلی که دارم اینکه مثلا وقتی کاربر سامسونگ رو انتخاب میکنه محصولات اونو میاره ولی ولی وقتی رنگ مشکی رو انتخاب میکنه دیگه نمیره اون کالاهای مشکی مربوط به سامسونگ رو بیاره هم کالاهای سامسونگ میاره هم همه ی ائنایی که رنگ مشکی اند!!! کدم رو هم میزارم


public IList<Product> GetProductByFilter(IEnumerable<SubCategory> CatId,int Max, int Min, List<int> CategoryId, List<int> ValueId) {

List<Product> Products = new List<Product>(); List<Product> FinalProducts = new List<Product>();
if (CategoryId != null&&CategoryId.Count >0) {
foreach (var item in CategoryId) {
var Result = db.Products.Where(c => c.SubCategoryId == item);
Products.AddRange(Result); // کالاهای مربوط به گروهها مثلا موبایل ، لپ تاپ ، یا زیر گروه اونها
}
} else { Products = GetAllProductAttr(CatId).ToList(); }

if (Max>0 && Min > 0) { var Result = Products.Where(c => c.Price >= Min && c.Price <= Max).ToList(); Products.AddRange(Result);
}
if (ValueId !=null && ValueId.Count > 0) { foreach (var item in ValueId) {
var Result = from a in Products join b in db.ProductProperties on a.ProductId equals b.ProductId where b.PropertyId == item select a;

FinalProducts.AddRange(Result.ToList()); // اینجا هم همون فیلترها مثل شرکت سازنده ، رنگ و فیلترهای دیگه
}
Products = FinalProducts; }

return Products.ToList();

}

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : محمد رضا جوادیان programers بازدید : 142 تاريخ : دوشنبه 8 شهريور 1395 ساعت: 6:17