Exemplo n.º 1
0
        public async Task <IActionResult> PutUserrole(int id, Userrole userrole)
        {
            if (id != userrole.Id)
            {
                return(BadRequest());
            }

            _context.Entry(userrole).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UserroleExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 2
0
        public async Task <ActionResult <Userrole> > PostUserrole(Userrole userrole)
        {
            _context.Userrole.Add(userrole);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetUserrole", new { id = userrole.Id }, userrole));
        }
Exemplo n.º 3
0
        public async Task <Role> AddNewRole(string userId, string Id)
        {
            try
            {
                Userrole userrole = new Userrole {
                    RoleId = Id, UserId = userId
                };
                var role = db.Role.Where(O => O.Id == Id).FirstOrDefault();
                if (role != null)
                {
                    db.Userrole.Add(userrole);
                    await db.SaveChangesAsync();

                    return(role);
                }
                else
                {
                    throw new SystemException("Role Tidak Ditemukan");
                }
            }
            catch (Exception ex)
            {
                throw new SystemException(ex.Message);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 添加人员 角色关联
        /// </summary>
        /// <param name="uid"></param>
        /// <param name="role"></param>
        /// <returns></returns>
        public int AddUserrole(int uid, int[] role)
        {
            List <Userrole> rplist = new List <Userrole>();

            for (int i = 0; i < role.Length; i++)
            {
                Userrole rp = new Userrole();
                rp.UserId = uid;
                rp.RoleId = role[i];
                rplist.Add(rp);
            }
            db.Userrole.AddRange(rplist);
            //db.Database.ExecuteSqlCommand("insert into rolepower(Role_Id,Power_Id) values(@RoleId,@RolePowerId)", rplist);
            return(db.SaveChanges());
        }
Exemplo n.º 5
0
        public async Task <bool> RemoveRole(string userId, string roleId)
        {
            try
            {
                Userrole userrole = db.Userrole.Where(x => x.RoleId == roleId && x.UserId == userId).FirstOrDefault();
                if (userrole != null)
                {
                    db.Userrole.Remove(userrole);
                    await db.SaveChangesAsync();

                    return(true);
                }
                else
                {
                    throw new SystemException("Role Tidak Ditemukan");
                }
            }
            catch (Exception ex)
            {
                throw new SystemException(ex.Message);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// 修改人员角色
        /// </summary>
        /// <param name="user"></param>
        /// <param name="role"></param>
        /// <returns></returns>
        public int UpdateUser(User user, int[] role)
        {
            var tmpUser = db.User.Where(m => m.UserId == user.UserId).FirstOrDefault();

            if (tmpUser != null)
            {
                tmpUser.UserRealName    = user.UserRealName;
                tmpUser.User_IdentityId = user.User_IdentityId;
                tmpUser.UserRoleName    = user.UserRoleName;
                db.Database.ExecuteSqlCommand($"DELETE from Userrole where User_Id={user.UserId}");
                List <Userrole> rplist = new List <Userrole>();
                for (int i = 0; i < role.Length; i++)
                {
                    Userrole rp = new Userrole();
                    rp.UserId = user.UserId;
                    rp.RoleId = role[i];
                    rplist.Add(rp);
                }
                db.Userrole.AddRange(rplist);
                return(db.SaveChanges());
            }
            return(0);
        }
Exemplo n.º 7
0
        /// <summary>
        /// 添加角色
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public int AddUser(AddUser adduser)
        {
            User user = new User();

            user.UserId         = adduser.UserId;
            user.UserName       = adduser.UserName;
            user.UserPass       = adduser.UserPass;
            user.UserRealName   = adduser.UserRealName;
            user.UserRoleName   = adduser.UserRoleName;
            user.UserIsEnable   = adduser.UserIsEnable;
            user.UserCreateTime = adduser.UserCreateTime;

            Userrole userrole = new Userrole();

            db.User.Add(user);
            var query = db.SaveChanges();

            userrole.UserId = user.UserId;
            userrole.RoleId = adduser.userRoleid;
            db.Userrole.Add(userrole);
            db.SaveChanges();
            return(query);
        }
Exemplo n.º 8
0
 public bool IsAuthorized()
 {
     return(Userrole.IsAuthorized());
 }
Exemplo n.º 9
0
        public void Update(User userParam, string password = null, List <string> departments = null, List <string> roles = null)
        {
            var user = GetById(userParam.UserId);

            if (user == null)
            {
                throw new AppException("User not found");
            }

            if (userParam.UserName != user.UserName)
            {
                // username has changed so check if the new username is already taken
                if (_context.User.Any(x => x.UserName == userParam.UserName))
                {
                    throw new AppException("Username " + userParam.UserName + " is already taken");
                }
            }

            // update user properties
            user.FirstName    = !string.IsNullOrEmpty(userParam.FirstName) ? userParam.FirstName : user.FirstName;
            user.LastName     = !string.IsNullOrEmpty(userParam.LastName) ? userParam.LastName : user.LastName;
            user.UserName     = !string.IsNullOrEmpty(userParam.UserName) ? userParam.UserName : user.UserName;
            user.MobileNumber = userParam.MobileNumber.HasValue ? userParam.MobileNumber.Value : user.MobileNumber;
            user.UserStatusId = userParam.UserStatusId.HasValue ? userParam.UserStatusId.Value : user.UserStatusId;
            user.ModfiedDate  = System.DateTime.Now;

            // update password if it was entered
            if (!string.IsNullOrWhiteSpace(password))
            {
                byte[] passwordHash, passwordSalt;
                CreatePasswordHash(password, out passwordHash, out passwordSalt);

                user.PasswordHash = passwordHash;
                user.PasswordSalt = passwordSalt;
            }

            if (departments != null && departments.Count > 0)
            {
                foreach (string department in departments)
                {
                    var dept = _context.Department.Where(r => r.DepartmentName.Equals(department, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                    if (dept != null)
                    {
                        Userdepartment userDept = new Userdepartment();
                        userDept.UserId       = user.UserId;
                        userDept.DepartmentId = dept.DepartmentId;

                        if (user.Userdepartment == null)
                        {
                            user.Userdepartment = new List <Userdepartment> {
                                userDept
                            };
                        }
                        else if (!user.Userdepartment.Any(d => d.DepartmentId == dept.DepartmentId))
                        {
                            user.Userdepartment.Add(userDept);
                        }
                    }
                }
            }

            if (roles != null && roles.Count > 0)
            {
                foreach (string roleName in roles)
                {
                    var role = _context.Role.Where(r => r.RoleName.Equals(roleName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                    if (role != null)
                    {
                        Userrole userRole = new Userrole();
                        userRole.RoleId = role.RoleId;
                        userRole.UserId = user.UserId;

                        if (user.Userrole == null)
                        {
                            user.Userrole = new List <Userrole> {
                                userRole
                            };
                        }
                        else if (!user.Userrole.Any(r => r.RoleId == role.RoleId))
                        {
                            user.Userrole.Add(userRole);
                        }
                    }
                }
            }

            _context.User.Update(user);
            _context.SaveChanges();
        }
Exemplo n.º 10
0
        public User Create(User user, string password, UserDto userDto)
        {
            // validation
            if (string.IsNullOrWhiteSpace(password))
            {
                throw new AppException("Password is required");
            }

            User userDBObj = _context.User.Where(x => x.UserName == user.UserName).FirstOrDefault();

            if (userDBObj != null)
            {
                throw new AppException("Username \"" + user.UserName + "\" is already taken");
            }

            byte[] passwordHash, passwordSalt;
            CreatePasswordHash(password, out passwordHash, out passwordSalt);

            user.PasswordHash = passwordHash;
            user.PasswordSalt = passwordSalt;

            user.UserStatusId = (int)UserStatus.Deactived;
            user.IsVerified   = 0;
            user.UniqueId     = Guid.NewGuid().ToString();

            _context.User.Add(user);
            _context.SaveChanges();

            if (userDto.Department != null && userDto.Department.Count > 0)
            {
                foreach (string department in userDto.Department)
                {
                    var dept = _context.Department.Where(r => r.DepartmentName.Equals(department, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                    if (dept != null)
                    {
                        Userdepartment userDept = new Userdepartment();
                        userDept.UserId       = user.UserId;
                        userDept.DepartmentId = dept.DepartmentId;

                        user.Userdepartment = new List <Userdepartment> {
                            userDept
                        };
                    }
                }
            }



            if (userDto.Role != null && userDto.Role.Count > 0)
            {
                foreach (string roleName in userDto.Role)
                {
                    var role = _context.Role.Where(r => r.RoleName.Equals(roleName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                    if (role != null)
                    {
                        Userrole userRole = new Userrole();
                        userRole.RoleId = role.RoleId;
                        userRole.UserId = user.UserId;

                        user.Userrole = new List <Userrole> {
                            userRole
                        };
                    }
                }
            }

            Institution institution = null;

            if (userDto.InstitutionId > 0)
            {
                institution = _context.Institution.Where(i => i.InstitutionId == userDto.InstitutionId).FirstOrDefault();
            }
            else if (!string.IsNullOrEmpty(userDto.InstitutionName))
            {
                institution = _context.Institution.Where(i => i.InstitutionName.Contains(userDto.InstitutionName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
            }
            else if (!string.IsNullOrEmpty(userDto.InstitutionUrl))
            {
                institution = _context.Institution.Where(i => i.InstitutionUrl.Contains(userDto.InstitutionUrl, StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
            }

            Userinstitution userIns = new Userinstitution();

            userIns.UserId        = user.UserId;
            userIns.InstitutionId = institution.InstitutionId;
            user.Userinstitution  = new List <Userinstitution> {
                userIns
            };

            _context.User.Update(user);
            _context.SaveChanges();

            return(user);
        }
Exemplo n.º 11
0
 public static bool IsAuthorized(this Userrole role)
 {
     return(role == Userrole.Owner || role == Userrole.NormalUser);
 }
 public int test(Userrole userrole)
 {
     return(1);
 }
Exemplo n.º 13
0
 public Task <ActionResult <Userrole> > PostUserRole(Userrole userrole)
 {
     throw new NotImplementedException();
 }