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);
        }
Example #2
0
 public List <string> GetPlants(string userid)
 {
     return(_userPlantMapBll.GetByUserId(userid).Select(x => x.PLANT_ID).ToList());
 }
Example #3
0
        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));
        }