سلام دوستان
من سه جدول دارم که به هم ارتباط دارند میخوام در متدی فقط userهایی رو برگردونم که نقش به عنوان مثال مدیر دارند ممنون میشم راهنمایی کنید . در انتها متد رو نوشتم .
public class Role {
[Key]
public int RoleId { get; set; }
[DisplayName("عنوان نقش")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید.")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
public string RoleTitle { get; set; }
[Display(Name = "نام نقش")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
public string RoleName { get; set; }
public bool IsDelete { get; set; }
#region Relation
public virtual List<UserRole>UserRoles { get; set; }
public List<RolePermission>RolePermissions { get; set; }
#endregion
}
[Key] public int UserId { get; set; }
[DisplayName("نام کاربری")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید.")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
public string UserName { get; set; }
[DisplayName("ایمیل")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید.")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
[EmailAddress(ErrorMessage = "ایمیل وارد شده معتبر نمی باشد.")]
public string Email { get; set; }
[DisplayName("کلمه عبور")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید.")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
public string Password { get; set; }
[DisplayName("کد فعال سازی")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
public string ActiveCode { get; set; }
[DisplayName("وضعیت")]
public bool IsActive { get; set; }
[DisplayName("آواتار")]
[MaxLength(400, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
public string UserAvatar { get; set; }
[DisplayName("تاریخ ثبت نام")]
public DateTime RegisterDate { get; set; }
public bool IsDelete { get; set; }
#region Relation
public virtual List<UserRole> UserRoles { get; set; }
public virtual List<Wallet.Wallet> Wallets { get; set; }
public virtual List<Course.Course> Courses { get; set; }
//public virtual List<Article.Article> Articles { get; set; }
//public virtual List<Order.Order> Orders { get; set; }
//public virtual List<UserCourse> UserCourses { get; set; }
//public List<UserDisCountCode> UserDisCountCodes { get; set; }
public virtual List<CourseComment> CourseComments { get; set; }
#endregion
}
public class UserRole
{
[Key]
public int UR_Id { get; set; }
public int UserId { get; set; }
public int RoleId { get; set; }
#region Relation
public virtual UncoLearn.Data.Entities.User.User User { get; set; }
public virtual Role Role { get; set; }
#endregion
public List<SelectListItem> GetEducatorForManageCourse(string roleName)
{
return _context.Users.Include(u => u.UserRoles).ThenInclude(r => r.Role).Select(d => new SelectListItem()
{
Text = d.UserName,
Value = d.UserId.ToString()
}).ToList();
}