Ejemplo n.º 1
0
        private List <Task> AramaSonucGetir(string search, AramaModel model)
        {
            db.Configuration.LazyLoadingEnabled = false;
            List <Task> Tasks        = new List <Task>();
            var         taskCustomer = Task.Factory.StartNew(() =>
            {
                using (Entities dbContext = new Entities())
                {
                    model.Kurumlar = dbContext.Kurumlar.Include("Kategoriler").Where(ur => ur.KurumAdi.Contains(search) && ur.Durum == true).Take(10).ToList();
                    if (model.Kurumlar.Count < 1)
                    {
                        try
                        {
                            var urun = db.Kurumlar.Where(k => SqlFunctions.SoundCode(k.KurumAdi) == SqlFunctions.SoundCode(search) && k.Durum == true).Select(k => new { k.KurumAdi }).FirstOrDefault();

                            if (urun != null)
                            {
                                model.DidYouMean = urun.KurumAdi;
                            }
                        }
                        catch (Exception)
                        {
                        }
                    }
                }
            });

            Tasks.Add(taskCustomer);
            var taskSupplier = Task.Factory.StartNew(() =>
            {
                using (Entities dbContext = new Entities())
                {
                    model.Kategoriler = dbContext.Kategoriler.Where(k => k.KategoriAdi.Contains(search) && k.Aktif == true).ToList();

                    if (model.Kategoriler.Count < 1)
                    {
                        try
                        {
                            var kat = db.Kategoriler.Where(k => SqlFunctions.SoundCode(k.KategoriAdi) == SqlFunctions.SoundCode(search) && k.Aktif == true).Select(k => new { k.KategoriAdi }).FirstOrDefault();

                            if (kat != null)
                            {
                                model.DidYouMean = kat.KategoriAdi;
                            }
                        }
                        catch (Exception)
                        {
                        }
                    }
                }
            });

            Tasks.Add(taskSupplier);

            return(Tasks);
        }
Ejemplo n.º 2
0
        public async Task <PartialViewResult> Arama(string searchKey)
        {
            AramaModel viewModel = null;

            var tasks = new Task[2];
            int i     = 0;

            viewModel           = new AramaModel();
            viewModel.SearchKey = Kontrol.AramaKontrol(searchKey);
            List <Task> TaskList = AramaSonucGetir(searchKey, viewModel);

            foreach (Task tsk in TaskList)
            {
                tasks[i] = tsk;
                i++;
            }
            await Task.WhenAll(tasks);

            return(PartialView("~/Views/_Partial/_AramaSonuc.cshtml", viewModel));
        }