Example #1
0
 /// <summary>
 /// 设置用户其他关联表信息
 /// </summary>
 /// <param name="db"></param>
 /// <param name="userId"></param>
 /// <param name="moduleIds"></param>
 /// <param name="operateIds"></param>
 /// <param name="roleIds"></param>
 /// <returns></returns>
 private async Task SetOtherInfo(AdminDbContext db, int userId, List <int> organizationIds, List <int> moduleIds, List <int> operateIds, List <int> roleIds)
 {
     foreach (int id in organizationIds)
     {
         Organization_User ou = new Organization_User()
         {
             UserId         = userId,
             OrganizationId = id
         };
         await db.AddAsync(ou);
     }
     foreach (int id in moduleIds)
     {
         Privilege privilege = new Privilege(MasterEnum.User, userId, AccessEnum.Module, id);
         await db.AddAsync(privilege);
     }
     foreach (int id in operateIds)
     {
         Privilege privilege = new Privilege(MasterEnum.User, userId, AccessEnum.Operate, id);
         await db.AddAsync(privilege);
     }
     foreach (int id in roleIds)
     {
         Role_User model = new Role_User();
         model.UserId = userId;
         model.RoleId = id;
         await db.AddAsync(model);
     }
 }
Example #2
0
        /// <summary>
        /// 角色信息修改
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public async Task Save(RoleModifyRequest info)
        {
            using (_db)
            {
                if (info.Id != 0)
                {
                    await _db.ExecSqlNoQuery("delete Role_User where RoleId=@RoleId", new SqlParameter("RoleId", info.Id));

                    await _db.ExecSqlNoQuery("delete Privilege where MasterValue=@MasterValue", new SqlParameter("MasterValue", info.Id));

                    Role role = await _db.Role.FindByIdAsync(info.Id);

                    _mapper.Map(info.Role, role);
                    //BeforeModify(role);
                }
                else
                {
                    Role role = _mapper.Map <Role>(info.Role);
                    await _db.AddAsync(role);

                    await _db.SaveChangesAsync();

                    info.Id = role.Id;
                }
                foreach (int id in info.ModuleIds)
                {
                    Privilege privilege = new Privilege(MasterEnum.Role, info.Id, AccessEnum.Module, id);
                    await _db.AddAsync(privilege);
                }
                foreach (int id in info.OperateIds)
                {
                    Privilege privilege = new Privilege(MasterEnum.Role, info.Id, AccessEnum.Operate, id);
                    await _db.AddAsync(privilege);
                }
                foreach (int id in info.UserIds)
                {
                    Role_User model = new Role_User();
                    model.UserId = id;
                    model.RoleId = info.Id;
                    await _db.AddAsync(model);
                }
                await _db.SaveChangesAsync();
            }
        }
        public ActionResult Login(string email, string password)
        {
            User curUser = null;

            if ((curUser = _userRepository.GetUserByEmailAndPass(email, password)) != null)
            {
                Role_User role_User = _role_UserRepository.GetByUserId(curUser.ID);
                Role      role      = _roleRepository.Get(role_User.ROLE_ID);
                switch (role.TYPE)
                {
                case Models.Enum.RoleType.ADMIN:
                    Session["Role"] = "Admin";
                    break;

                case Models.Enum.RoleType.CLIENT:
                    Session["Role"] = "Client";
                    break;

                case Models.Enum.RoleType.PARTHNER:
                    Session["Role"] = "Partner";
                    break;

                default:
                    Session["Role"] = "Undefined";
                    break;
                }
                Session["Authed"] = true;
                Session["UserId"] = curUser.ID;
                return(Redirect($"/User/MyProfile?userId={curUser.ID}"));
            }
            else
            {
                Session["Authed"] = false;
                return(Redirect("/User/Register"));
            }
        }