示例#1
0
        public ActionResult AracKategoriler()
        {
            var aracKategorilers = _aracKategorilerService.GetAll(a => a.Aktif == true).ToList();

            return(Ok(aracKategorilers));
        }
示例#2
0
        public ActionResult Araclar(DataTablesOptions model)
        {
            var araclars     = RolBazliAracListesi().AsQueryable().OrderBy(model.Columns[model.Order[0].Column].Data + " " + model.Order[0].Dir).ToList();
            var sorguAraclar = RolBazliAracListesi().AsQueryable().OrderBy(model.Columns[model.Order[0].Column].Data + " " + model.Order[0].Dir).ToList();



            if (!string.IsNullOrEmpty(model.Search?.Value))
            {
                araclars = araclars.Where(a => a.Plaka.IndexOf(model.Search.Value, 0, StringComparison.CurrentCultureIgnoreCase) != -1).ToList();
            }

            if (!string.IsNullOrEmpty(model.Search?.Value))
            {
                // firma filter
                var firmalar = _firmalarService.GetAll(a => a.FirmaAd.IndexOf(model.Search.Value, 0, StringComparison.CurrentCultureIgnoreCase) != -1 && a.Aktif == true);
                firmalar.ForEach(firmaItem =>
                {
                    var firmaIceriyorMu = sorguAraclar.Where(a => a.FirmaID == firmaItem.FirmaID);
                    if (firmaIceriyorMu.Count() > 0)
                    {
                        araclars.AddRange(firmaIceriyorMu);
                    }
                });

                // araç marka filter
                var aracMarkalar = _aracMarkalarService.GetAll(a => a.Ad.IndexOf(model.Search.Value, 0, StringComparison.CurrentCultureIgnoreCase) != -1 && a.Aktif == true);
                aracMarkalar.ForEach(aracMarkaItem =>
                {
                    var aracMarkaIceriyorMu = sorguAraclar.Where(a => a.MarkaID == aracMarkaItem.AracMarkaID);
                    if (aracMarkaIceriyorMu.Count() > 0)
                    {
                        araclars.AddRange(aracMarkaIceriyorMu);
                    }
                });

                // araç model filter
                var aracModeller = _aracModellerService.GetAll(a => a.Ad.IndexOf(model.Search.Value, 0, StringComparison.CurrentCultureIgnoreCase) != -1 && a.Aktif == true);
                aracModeller.ForEach(aracModelItem =>
                {
                    var aracModelIceriyorMu = sorguAraclar.Where(a => a.ModelID == aracModelItem.AracModelID);
                    if (aracModelIceriyorMu.Count() > 0)
                    {
                        araclars.AddRange(aracModelIceriyorMu);
                    }
                });

                // araç kategori filter
                var aracKategoriler = _aracKategorilerService.GetAll(a => a.Ad.IndexOf(model.Search.Value, 0, StringComparison.CurrentCultureIgnoreCase) != -1 && a.Aktif == true);
                aracKategoriler.ForEach(aracKategoriItem =>
                {
                    sorguAraclar.ForEach(aracItem =>
                    {
                        var aracModelBulucu = _aracModellerService.Get(a => a.AracModelID == aracItem.ModelID && a.AracKategoriID == aracKategoriItem.AracKategoriID);
                        if (aracModelBulucu != null)
                        {
                            var aracKategoriIceriyorMu = sorguAraclar.Where(a => a.ModelID == aracModelBulucu.AracModelID);
                            if (aracKategoriIceriyorMu.Count() > 0)
                            {
                                araclars.AddRange(aracKategoriIceriyorMu);
                            }
                        }
                    });
                });
            }

            araclars = araclars.Distinct().ToList();

            var filter = araclars.Skip(model.Start).Take(model.Length).ToList();

            return(Ok(new { draw = model.Draw, recordsFiltered = araclars.Count, recordsTotal = araclars.Count, data = filter }));
        }