コード例 #1
0
        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);
                        }
                    }
                }
            }
        }
コード例 #2
0
        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));
        }