如何解决想要列出经理团队的评估
在下面基于用户ID的查询中,我正在获取用户详细信息,然后能够检索评估信息。
List<UserInfo> users = Context.UserInfoes.Where(ui => ui.UserInfoManager.IdUser == idUser && ui.IsCurrent && !ui.IsDeleted).ToList();
foreach(UserInfo info in users)
{
List<Appraisal> employeeAppraisals = Context.Appraisals.Where(a => a.UserInfo.UserInfoManager.IdUser == idUser && a.UserInfo.IdUser == info.IdUser).OrderByDescending(a => a.AppraisalInformation.AppraisalDate).ToList();
}
但是我需要基于管理者名称实现相同的方案,以下是现有查询需要修改。
我需要更新usersquery。
IQueryable<User> usersQuery = Context.Users;
if (!string.IsNullOrEmpty(searchManager))
{
searchManager = searchManager.ToLower();
searchTerms = searchManager.Split(' ').ToList();
usersQuery = usersQuery.Where(u => searchTerms.Any(searchTerm => u.Firstname.ToLower().Contains(searchTerm) || u.Lastname.ToLower().Contains(searchTerm)));
}
IQueryable<Appraisal> appraisalsQuery = Context.Appraisals.Join(usersQuery,a => a.UserInfo.IdUser,u => u.Id,(a,u) => a).Where(
a => a.AppraisalInformation.AppraisalYear == filters.Year && a.UserInfo.IsDeleted == deleted
).OrderByDescending(a => a.AppraisalInformation.AppraisalDate);
User class:
public partial class User
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage","CA2214:DoNotCallOverridableMethodsInConstructors")]
public User()
{
this.UserInfoes = new HashSet<UserInfo>();
this.UsersHRs = new HashSet<User>();
this.UsersEmployees = new HashSet<User>();
}
public int Id { get; set; }
public string Login { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
public string Email { get; set; }
public Nullable<System.DateTime> CompanyStartDate { get; set; }
public Nullable<bool> IsAdmin { get; set; }
public Nullable<bool> IsDRH { get; set; }
public System.DateTime CreationDate { get; set; }
public Nullable<System.DateTime> ModificationDate { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage","CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<UserInfo> UserInfoes { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage","CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<User> UsersHRs { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage","CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<User> UsersEmployees { get; set; }
}
Appraisal class :
公共部分课评估 { [System.Diagnostics.CodeAnalysis.SuppressMessage(“ Microsoft.Usage”,“ CA2214:DoNotCallOverridableMethodsInConstructors”)] 公开评估() { this.Files = new HashSet(); }
public int Id { get; set; }
public int IdUserInfo { get; set; }
public System.DateTime CreationDate { get; set; }
public bool EmployeeValidation { get; set; }
public bool ManagerValidation { get; set; }
public System.DateTime ModificationDate { get; set; }
public bool Closed { get; set; }
public Nullable<System.DateTime> DraftValidationDate { get; set; }
public Nullable<System.DateTime> DraftValidationNotifDate { get; set; }
public Nullable<System.DateTime> ManagerValidationDate { get; set; }
public Nullable<System.DateTime> ManagerValidationNotifDate { get; set; }
public Nullable<System.DateTime> EmployeeValidationDate { get; set; }
public Nullable<System.DateTime> EmployeeValidationNotifDate { get; set; }
public Nullable<System.DateTime> FinaleValidationDate { get; set; }
public virtual UserInfo UserInfo { get; set; }
public virtual AppraisalAnnexeFr AppraisalAnnexeFr { get; set; }
public virtual AppraisalDevelopment AppraisalDevelopment { get; set; }
public virtual AppraisalGoal AppraisalGoal { get; set; }
public virtual AppraisalInformation AppraisalInformation { get; set; }
public virtual AppraisalSecurity AppraisalSecurity { get; set; }
public virtual AppraisalSynthesis AppraisalSynthesi { get; set; }
public virtual AppraisalVeoliaValue AppraisalVeoliaValue { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage","CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<File> Files { get; set; }
public virtual ProfessionnalCareerExchange ProfessionnalCareerExchange { get; set; }
public virtual ProfessionnalDevelopment ProfessionnalDevelopment { get; set; }
public virtual ProfessionnalSynthesis ProfessionnalSynthesi { get; set; }
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。