private UserPlantMapDetailViewModel InitEdit(string id) { var currenPlant = _userPlantMapBll.GetByUserId(id); var model = new UserPlantMapDetailViewModel { UserPlantMap = Mapper.Map <UserPlantMapDto>(currenPlant.FirstOrDefault()), Users = GlobalFunctions.GetUsers(), Nppbkcs = GlobalFunctions.GetNppbkcMultiSelectList(), CurrentMenu = PageInfo, MainMenu = _mainMenu, Plants = new List <PlantDto>() }; //process plant foreach (USER_PLANT_MAP t in currenPlant) { var toInsert = Mapper.Map <PlantDto>(t.T001W); toInsert.IS_IMPORT_ID = t.NPPBKC_ID != t.T001W.NPPBKC_ID; model.Plants.Add(toInsert); } model.SelectedNppbkc = model.Plants.GroupBy(x => (x.IS_IMPORT_ID ? x.NPPBKC_IMPORT_ID : x.NPPBKC_ID)).Select(x => x.Key).ToList(); return(model); }
public List <string> GetPlants(string userid) { return(_userPlantMapBll.GetByUserId(userid).Select(x => x.PLANT_ID).ToList()); }
public List <UserDto> GetListUserRoleByUserId(string userId) { var userRole = _poabll.GetUserRole(userId); List <string> listPlantUserFrom; List <string> listPlantUserTo; if (userRole == Enums.UserRole.POA) { listPlantUserFrom = _poabll.GetPoaPlantByPoaId(userId); } else if (userRole == Enums.UserRole.User) { listPlantUserFrom = _userPlantMapBll.GetByUserId(userId).Select(c => c.PLANT_ID).ToList(); } else { listPlantUserFrom = new List <string>(); } var listUser = _repository.Get(); var filterResult = new List <USER>(); foreach (var user in listUser) { var role = _poabll.GetUserRole(user.USER_ID); if (userRole == role) { if (role == Enums.UserRole.POA) { //get list plant from poa_map listPlantUserTo = _poabll.GetPoaPlantByPoaId(user.USER_ID); //foreach (var plantUserTo in listPlantUserTo) //{ // foreach (var plantUserFrom in listPlantUserFrom) // { // if (plantUserFrom == plantUserTo) // filterResult.Add(user); // } //} } else if (role == Enums.UserRole.User) { //get list plant from user_plant map listPlantUserTo = _userPlantMapBll.GetByUserId(user.USER_ID).Select(c => c.PLANT_ID).ToList(); } else { listPlantUserTo = new List <string>(); } foreach (var plantUserTo in listPlantUserTo) { foreach (var plantUserFrom in listPlantUserFrom) { if (plantUserFrom == plantUserTo) { filterResult.Add(user); } } } } } filterResult = filterResult.Where(c => c.USER_ID != userId).DistinctBy(c => c.USER_ID).ToList(); return(Mapper.Map <List <UserDto> >(filterResult)); }