//to poki co nie uzywane public ProduktySklepView produkty_view(Filtry filtry, int currentPage, int naStronie) { ProduktySklepView produkty_view = new ProduktySklepView(); var produkty = _db.Produkty.Where(t => t.Catering == filtry.Catering && t.Dostepny == true && (!filtry.Promocje) ? 1 == 1 : t.Promocja == true).AsNoTracking(); if (filtry.KategoriaId != null) { produkty.Where(t => (_db.Produkty_Kategorie.Where(a => a.KategoriaId == filtry.KategoriaId).Select(a => a.ProduktId).Contains(t.Id))).Include(t => t.Kategoria_Produkt).Include(t => t.Szczegoly_Produkt).Include(t => t.Producent).AsNoTracking(); } if (filtry.SearchText != null) { produkty.Where(t => t.K_Nazwa.Contains(filtry.SearchText)); } produkty_view.dane = PobierzDodatkowaKategorie(produkty.Select(t => t.Id).ToList()); if (filtry.DodatkowaKategoriaID != null) { produkty = produkty.Where(t => (Pobierz_Id_produktow_z_dodatkowej_kategori((int)filtry.DodatkowaKategoriaID).Contains(t.Id))); } produkty_view.filtry.cena_max = (produkty.Count() != 0) ? Math.Ceiling(produkty.Max(t => t.Cena_Brutto) / 10) * 10 : 0; if (produkty_view.filtry.cena_max_slider != null && produkty_view.filtry.cena_max != produkty_view.filtry.cena_max_slider) { produkty = produkty.Where(t => t.Cena_Brutto < (decimal)filtry.cena_max_slider); } return(null); }
public ActionResult ProduktySklep(int?page, Filtry filtry /*,Kup_Produkty kup*/) { int currentPage = page ?? 1; int naStronie = 20; ViewBag.CurrentSort = filtry.sortOrder ?? "Sortowanie"; ViewBag.Catering = filtry.Catering; ViewBag.DodatkowaKategoriaName = filtry.DodatkowaKategoriaID != null?db.DodatkowaKategoria.Find(filtry.DodatkowaKategoriaID).Nazwa : null; ViewBag.KategoriaName = filtry.KategoriaId != null?db.Kategorie.Find(filtry.KategoriaId).Nazwa : null; ProduktySklepView produkty_view = new ProduktySklepView() { filtry = filtry }; //kategorie var produkty = (filtry.KategoriaId == null) ? _repo.PobierzProduktyKlient(filtry.Catering) : _repo.PobierzProduktyKlient((int)filtry.KategoriaId, filtry.Catering); //wyszukaj tekst produkty = (filtry.SearchText == null) ?produkty: produkty.Where(t => t.K_Nazwa.Contains(filtry.SearchText)); //dodatkowe kategorie lewe menu produkty_view.dane = _repo.PobierzDodatkowaKategorie(produkty.Select(t => t.Id).ToList()); if (filtry.DodatkowaKategoriaID != null) { var ax = _repo.Pobierz_Id_produktow_z_dodatkowej_kategori((int)filtry.DodatkowaKategoriaID); produkty = produkty.Where(t => (ax.Contains(t.Id))); } var group = produkty.GroupBy(t => t.Producent).Select(t => new { Id = t.Key.Id, Nazwa = t.Key.Nazwa }).ToList(); group.Add(new { Id = 0, Nazwa = "Wszyscy" }); ViewBag.ProducentId = new SelectList(group, "Id", "Nazwa", 0); //promocje if (filtry.Promocje != false) { produkty = produkty.Where(t => t.Promocja); } if (filtry.ProducentId != 0) { produkty = produkty.Where(t => t.ProducentId == filtry.ProducentId); // tutaj i w cookie usunac producent id null } produkty_view.filtry.cena_max = (produkty.Count() != 0)? Math.Ceiling(produkty.Max(t => t.Cena_Brutto) / 10) * 10:0; produkty_view.filtry.cena_max_slider = (Cookie(filtry)) ? produkty_view.filtry.cena_max : produkty_view.filtry.cena_max_slider; if (produkty_view.filtry.cena_max_slider != null && produkty_view.filtry.cena_max != produkty_view.filtry.cena_max_slider) { produkty = produkty.Where(t => t.Cena_Brutto < (decimal)filtry.cena_max_slider); } ViewBag.IloscProduktow = produkty.Count(); //sortowanie produkty = Sortowanie(produkty, filtry.sortOrder); //dodanie do nowego typu produkty_view.produkty = produkty.ToPagedList <Produkt>(currentPage, naStronie); if (Request.IsAjaxRequest()) { //System.Threading.Thread.Sleep(2000); return((ActionResult)PartialView("ProduktySklepBody", produkty_view)); } else { return(View(produkty_view)); } }