想要列出经理团队的评估

问题描述

在下面基于用户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 (将#修改为@)