/// <summary> /// GrantAuthority method: Phân quyền cho người dùng /// </summary> /// <param name="users"></param> /// <param name="authorityId"></param> /// <returns>message</returns> public string GrantAuthority(List <UserDTO> users, int authorityId) { if (users.Count() == 0) { return(Messages.MS00010); } foreach (var user in users) { var result = db.TblAuthorityUser.Where(x => x.AuthorityId == authorityId && x.UserId == user.UserId).FirstOrDefault(); if (result != null) { // return user.UserName + " đã có trong nhóm quyền: " + db.TblAuthority.Where(x => x.AuthorityId == authorityId).FirstOrDefault().AuthorityName; // revoke authority of user db.TblAuthorityUser.Remove(result); } else { // add aothirity for user var model = new TblAuthorityUser() { AuthorityId = authorityId, UserId = user.UserId }; db.TblAuthorityUser.Add(model); } } db.SaveChanges(); return(Messages.MS0004); }
/// <summary> /// Function using for add user in authority /// CreatedBy: HaiHM /// CreatedDate: 21/5/2019 /// </summary> /// <param name="OrganizationId"></param> /// <param name="createBy"></param> /// <param name="userId"></param> /// <returns></returns> private void AddAuthorityAndRoleForUserAdmin(int OrganizationId, string createBy, int userId) { try { using (var ts = new TransactionScope()) { // Add Authority Admin int idAuthority = 0; TblAuthority authority = new TblAuthority() { AuthorityDescription = OrganizationConstant.AuthorityDescription, AuthorityName = OrganizationConstant.AuthorityName, AuthorityType = OrganizationConstant.AuthorityType, OrganizationId = OrganizationId, CreateBy = createBy, CreateDate = DateTime.Now, UpdateBy = createBy, UpdateDate = DateTime.Now, IsDelete = true, IsLock = false }; db.TblAuthority.Add(authority); db.SaveChanges(); idAuthority = authority.AuthorityId; //Add user In Authority Admin if (idAuthority > 0) { TblAuthorityUser au = new TblAuthorityUser() { AuthorityId = idAuthority, UserId = userId }; db.TblAuthorityUser.Add(au); db.SaveChanges(); // Add Role for user admin AddRoleForUser(idAuthority); } ts.Complete(); } } catch (Exception ex) { Console.WriteLine(ex); } }