public List <EczaneGrup> GetListByUser(User user) { var rolIdler = _userService.GetUserRoles(user).OrderBy(s => s.RoleId).Select(u => u.RoleId).ToArray(); var rolId = rolIdler.FirstOrDefault(); var eczaneler = new List <Eczane>(); if (rolId == 4) {//yetkili olduğu eczaneler var userEczaneler = _userEczaneService.GetListByUserId(user.Id); eczaneler = _eczaneDal.GetList().Where(x => userEczaneler.Select(s => s.EczaneId).Contains(x.Id)).ToList(); } else {//yetkili olduğu nöbet gruplar var nobetGruplar = _nobetGrupGorevTipService.GetListByUser(user).Select(g => g.Id); var eczaneNobetGruplar = _eczaneNobetGrupService.GetList() .Where(s => nobetGruplar.Contains(s.NobetGrupGorevTipId)).ToList(); //.Where(s => s.NobetGrupId == 3).ToList(); eczaneler = _eczaneDal.GetList().Where(e => eczaneNobetGruplar.Select(n => n.EczaneId).Contains(e.Id)).ToList(); } var eczaneIdler = eczaneler.Select(s => s.Id).ToList(); return(_eczaneGrupDal.GetList(x => eczaneIdler.Contains(x.EczaneId))); }