Esempio n. 1
0
        /// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="inpuEntity"></param>
        /// <returns></returns>
        public bool DTOAdd(AdminInfoInputDTO inpuEntity)
        {
            //AutoMapper转换
            AdminInfo dataModel = Mapper.Map <AdminInfoInputDTO, AdminInfo>(inpuEntity);

            dataModel.PassWord = MD5Helper.EncryptString("123");
            dataModel.DelFlag  = 0;
            //打上添加标记
            adminInfoDAL.AddFlag(dataModel);
            //添加默认数据 员工
            R_UserInfo_RoleInfo model = new R_UserInfo_RoleInfo
            {
                AdminID = dataModel.AdminID,
                RoleID  = "3",
            };

            r_UserInfo_RoleInfoDAL.AddFlag(model);
            if (unitOfWork.SaveChanges() > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        //给用户设置角色
        public ActionResult ProcessSetRole(int UId)
        {
            //第一:当前用户的id ----uid
            //第二:当前用户在角色关联表中的ID
            UserInfo user           = UserInfoService.GetEntities(u => u.Id == UId).FirstOrDefault();
            var      allUserInfoIds = (from r in user.R_UserInfo_RoleInfo
                                       where r.UserInfoId == UId && r.DelFlag == delflagNormal
                                       select r.Id).ToList();

            for (int i = 0; i < allUserInfoIds.Count(); i++)
            {
                int userInfoId = Convert.ToInt32(allUserInfoIds[i]);
                var rUserRole  = R_UserInfo_RoleInfoService.GetEntities(r =>
                                                                        r.Id == userInfoId).FirstOrDefault();
                R_UserInfo_RoleInfoService.Delete(rUserRole);
            }

            //第三:所有打上对勾的角色 ----list
            List <int> setRoleIdList = new List <int>();

            foreach (var key in Request.Form.AllKeys)
            {
                if (key.StartsWith("ckb_"))
                {
                    int roleId = int.Parse(key.Replace("ckb_", ""));
                    setRoleIdList.Add(roleId);
                }
            }


            for (int i = 0; i < setRoleIdList.Count; i++)
            {
                int roleId = Convert.ToInt32(setRoleIdList[i]);

                R_UserInfo_RoleInfo rUserInfoRoleInfo = new R_UserInfo_RoleInfo();
                rUserInfoRoleInfo.UserInfoId = UId;
                rUserInfoRoleInfo.RoleInfoId = roleId;
                rUserInfoRoleInfo.DelFlag    = delflagNormal;
                R_UserInfo_RoleInfoService.Add(rUserInfoRoleInfo);
            }

            return(Content("Ok"));
        }
Esempio n. 3
0
        /// <summary>
        /// 获取所有角色,先删除再按要求重新添加
        /// </summary>
        /// <param name="arrRoleID"></param>
        /// <param name="UserID"></param>
        /// <returns></returns>
        public bool ConfiRole(string arrRoleID, string AdminID)
        {
            //1、先删除所有角色信息,再循环添加
            //1.1、获取用户拥有的所有角色
            List <R_UserInfo_RoleInfo> list = r_UserInfo_RoleInfoDAL.LoadEntities(u => u.AdminID == AdminID).ToList();

            //for 循环打上删除标记
            for (int i = 0; i < list.Count; i++)
            {
                r_UserInfo_RoleInfoDAL.DeleteFlag(list[i]);
            }
            //1.2、添加
            string[] arrStr = arrRoleID.Split(',');                                //分割
            List <R_UserInfo_RoleInfo> addlist = new List <R_UserInfo_RoleInfo>(); //新建一个list集合,用来装需要添加的所有数据

            for (int i = 0; i < arrStr.Length - 1; i++)
            {
                R_UserInfo_RoleInfo model = new R_UserInfo_RoleInfo
                {
                    AdminID = AdminID,
                    RoleID  = arrStr[i],
                };
                addlist.Add(model);
            }
            //for 循环打上添加标记
            for (int i = 0; i < addlist.Count; i++)
            {
                r_UserInfo_RoleInfoDAL.AddFlag(addlist[i]);//打上添加标记
            }

            if (unitOfWork.SaveChanges() > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }