// Kullanıcının rolüne uygun bir şekilde kullanıcı listesi döndürür. public List <Firmalar> RolBazliKullaniciListesi(int FirmaID) { var firmalar = new List <Firmalar>(); var firmaBulucu = _firmalarService.GetByID(FirmaID); if (firmaBulucu != null) { string kullaniciTipi = ""; if (firmaBulucu.Rol == Role._Isletme) { kullaniciTipi = Role.IsletmeKullanicisi; } if (firmaBulucu.Rol == Role._Firma) { kullaniciTipi = Role.FirmaKullanicisi; } if (firmaBulucu.Rol == Role._Sube) { kullaniciTipi = Role.SubeKullanicisi; } if (_userJWTInfo.GetInfo().role == Role.Admin) { firmalar = _firmalarService.GetAll(a => a.Aktif == true && a.ListeAktiflik == true && a.BagliOlduguID == firmaBulucu.FirmaID && a.Rol == kullaniciTipi).ToList(); } else if (_userJWTInfo.GetInfo().role == Role.IsletmeKullanicisi || _userJWTInfo.GetInfo().role == Role.FirmaKullanicisi || _userJWTInfo.GetInfo().role == Role.SubeKullanicisi) { var ustFirmaBulucu = _firmalarService.GetByID(_userJWTInfo.GetInfo().id); if (ustFirmaBulucu != null) { if (ustFirmaBulucu.BagliOlduguID == firmaBulucu.FirmaID) { firmalar = _firmalarService.GetAll(a => a.Aktif == true && a.ListeAktiflik == true && a.BagliOlduguID == firmaBulucu.FirmaID && a.Rol == kullaniciTipi).ToList(); } } } } return(firmalar); }
public ActionResult FirmaHizmetler(int id) { // Firmanın kendisine seçtiği hizmetler var value = _firmalarService.GetAll(a => a.FirmaID == id && a.Aktif == true).ToList(); return(Ok(value)); }
public ActionResult SeriNoErisimDogrula(string seriNo, int firmaId) { if (string.IsNullOrEmpty(seriNo) || string.IsNullOrEmpty(firmaId.ToString())) { return(Ok(new { Error = "Seri No ya da Firma boş değer olarak geldi." })); } else { var lastik = _lastiklerService.Get(a => a.SeriNo == seriNo && a.FirmaID == firmaId && a.Aktif == true); if (lastik != null) { if (lastik.AracID != 0) { return(Ok(new { Error = "Bu Seri No'lu lastik bir araca takılı durumdadır." })); } var hurdaKonumTipBulucu = _lastikKonumlarService.Get(a => a.Ad == "Hurda"); if (lastik.LastikKonumID == hurdaKonumTipBulucu.LastikKonumID) { return(Ok(new { Error = "Bu Seri No'lu lastik hurda listesinde gözükmektedir." })); } var aracBakimClass = new AracBakimlar { AksPozisyonID = 0, Aktif = true, AracID = lastik.AracID, LastikID = lastik.LastikID, AracBakimID = 0 }; if (_userJWTInfo.GetInfo().role == Role.Admin) { return(Ok(new { MessageType = 1, Result = aracBakimClass })); } else { if (_userJWTInfo.GetInfo().role == Role.IsletmeKullanicisi) { var yetkiliOlduklariSubeler = new List <Firmalar>(); var yetkiliOlduklariListe = _kullaniciYetkilerService.YetkiliOlduklariListesi(_userJWTInfo.GetInfo().id, Role._Sube); // Eğer üst firmasına yetkiliyse, firmanın alt şubelerine erişim sağlayabilir. yetkiliOlduklariListe.AddRange(_kullaniciYetkilerService.YetkiliOlduklariListesi(_userJWTInfo.GetInfo().id, Role._Firma)); yetkiliOlduklariListe.Where(a => a.YetkiTip == Role._Firma).ToList().ForEach(yetkiliItem => { var firmaninAltSubeleri = _firmalarService.GetAll(a => a.Aktif == true && a.BagliOlduguID == yetkiliItem.IlgiliID); yetkiliOlduklariSubeler.AddRange(firmaninAltSubeleri); }); if (lastik.OlusturanId == _userJWTInfo.GetInfo().id || yetkiliOlduklariListe.FirstOrDefault(a => a.IlgiliID == lastik.FirmaID) != null || yetkiliOlduklariSubeler.FirstOrDefault(a => a.FirmaID == lastik.FirmaID) != null) { return(Ok(new { MessageType = 1, Result = aracBakimClass })); } } else { if (lastik.OlusturanId == _userJWTInfo.GetInfo().id) { return(Ok(new { MessageType = 1, Result = aracBakimClass })); } } } return(Ok(new { Error = "Bu Seri No'lu lastiğe erişim izniniz bulunmamaktadır." })); } else { return(Ok(new { Error = "Sistemde firmanın, bu Seri No ile eşleşen lastiği bulunmamaktadır." })); } } }
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 })); }