private static void KonaklamaTipleriniAyarla(List <Oteller> liste, List <FiltreKonaklamaTipleri> konaklamalist) { foreach (var item in liste) { string[] konaklamatipi = item.KonaklamaTipi.Split(','); foreach (var kitem in konaklamatipi) { bool sonuc = konaklamalist.Any(x => x.KonaklamaAdi == kitem); if (sonuc == false) { FiltreKonaklamaTipleri f = new FiltreKonaklamaTipleri(); string konaklamacount = liste.Where(x => x.KonaklamaTipi.Contains(kitem) && x.KonaklamaTipi.EndsWith(kitem)).ToList().Count.ToString(); f.KonaklamaAdi = kitem.ToString() + " (" + konaklamacount + ")"; for (int i = 0; i < konaklamatipi.Length; i++) { f.KonaklamaAdi = kitem.ToString(); f.KonaklamaAdiValue = kitem.ToString(); } if (f.KonaklamaAdi.Trim() != "" && !konaklamalist.Any(x => x.KonaklamaAdi == f.KonaklamaAdi)) { konaklamalist.Add(f); } } } } }
public ActionResult Filter() { #region Otel Filtre FiltreOtel filtreOtel = new FiltreOtel(); string otelbolgesi = Request.QueryString["OtelBolgesi"] == null ? "" : Request.QueryString["OtelBolgesi"]; string otelil = Request.QueryString["Otelil"] == null ? "" : Request.QueryString["Otelil"]; string otelilce = Request.QueryString["otelilce"] == null ? "" : Request.QueryString["otelilce"]; filtreOtel.Bolge = otelbolgesi; filtreOtel.Il = otelil; filtreOtel.Ilce = otelilce; var liste = _unitOfWork.Oteller.Where(x => x.OtelLink.Contains(otelbolgesi) && x.OtelAktifMi == true).OrderByDescending(x => x.OtelOncelik); if (otelbolgesi != "") { if (otelil == "" && otelilce == "") { liste = _unitOfWork.Oteller.Where(x => x.OtelBolgesi == otelbolgesi && x.OtelAktifMi == true).OrderByDescending(x => x.OtelOncelik); } else if (otelil != "" && otelilce == "") { liste = _unitOfWork.Oteller.Where(x => x.Otelil.Contains(otelil) && x.OtelAktifMi == true && x.OtelBolgesi == otelbolgesi).OrderByDescending(x => x.OtelOncelik); } else if (otelil != "" && otelilce != "") { liste = _unitOfWork.Oteller.Where(x => x.Otelilce.Contains(otelilce) && x.OtelAktifMi == true && x.OtelBolgesi == otelbolgesi).OrderByDescending(x => x.OtelOncelik); } else { liste = _unitOfWork.Oteller.Where(x => x.Otelil.Contains(otelil) && x.OtelAktifMi == true && x.Otelilce.Contains(otelilce) && x.OtelBolgesi == otelbolgesi).OrderByDescending(x => x.OtelOncelik); } } filtreOtel.Otels = liste.ToList(); #endregion List <FiltreKonaklamaTipleri> konaklamalist = new List <FiltreKonaklamaTipleri>(); foreach (var item in liste) { string[] konaklamatipi = item.KonaklamaTipi.Split(','); foreach (var kitem in konaklamatipi) { bool sonuc = konaklamalist.Any(x => x.KonaklamaAdi == kitem); FiltreKonaklamaTipleri f = new FiltreKonaklamaTipleri(); string konaklamacount = liste.Where(x => x.KonaklamaTipi.Contains(kitem) && x.KonaklamaTipi.EndsWith(kitem)).ToList().Count.ToString(); f.KonaklamaAdi = kitem.ToString() + " (" + konaklamacount + ")"; for (int i = 0; i < konaklamatipi.Length; i++) { f.KonaklamaAdi = kitem.ToString(); f.KonaklamaAdiValue = kitem.ToString(); } if (f.KonaklamaAdi.Trim() != "" && !konaklamalist.Any(x => x.KonaklamaAdi == f.KonaklamaAdi)) { konaklamalist.Add(f); } } } var otelolanaklarList = (from otel in liste join otelolanak in _unitOfWork.OtelOzellikleri.ToList() on otel._id equals otelolanak.OtelSubID where otel._id == otelolanak.OtelSubID select new FiltreOtelOzellikleri { OlanakAdi = otelolanak.OlanakAdi, KacOteldeVar = _unitOfWork.OtelOzellikleri.Count(x => x.OlanakAdi == otelolanak.OlanakAdi), OlanakveSayisi = otelolanak.OlanakAdi + "(" + _unitOfWork.OtelOzellikleri.Count(x => x.OlanakAdi == otelolanak.OlanakAdi) + ")" }).OrderByDescending(x => x.KacOteldeVar).ToList(); FiltreCheckbox filtreChechbox = new FiltreCheckbox { KonaklamaTipleri = konaklamalist, OtelOzellikleri = otelolanaklarList }; filtreOtel.Checkboxs = filtreChechbox; return(View(filtreOtel)); }