public T GetView(ApplicationDbContext db) { List <TeamExtended> teamList = (from t in db.T_Teams join m in db.T_Employees on t.ManagerId equals m.Id into Joinm from jm in Joinm.DefaultIfEmpty() orderby t.Name select new TeamExtended { Id = t.Id, Name = t.Name, ManagerId = t.ManagerId, ManagerName = jm.FirstName + " " + jm.LastName }).ToList(); foreach (TeamExtended te in teamList) { if (db.T_Employees.Where(e => e.TeamId == te.Id).Count() > 0) { te.Members = 1; } else { te.Members = 0; } } return(teamList as T); }
public T GetView(ApplicationDbContext db) { var context = new IdentityDbContext(); var users = context.Users.ToList(); List <EmployeeExtended> employeeList = (from e in db.T_Employees join p in db.T_Positions on e.PositionId equals p.Id into Joinp from jp in Joinp.DefaultIfEmpty() join t in db.T_Teams.DefaultIfEmpty() on e.TeamId equals t.Id into Joint from jt in Joint.DefaultIfEmpty() join m in db.T_Employees.DefaultIfEmpty() on jt.ManagerId equals m.Id into Joinm from mg in Joinm.DefaultIfEmpty() select new EmployeeExtended { Id = e.Id, TeamName = jt.Name, TeamId = e.TeamId, PositionName = jp.Name, PositionId = e.PositionId, FirstName = e.FirstName, LastName = e.LastName, UserId = e.UserId, Manager = mg.FirstName + " " + mg.LastName, HireDate = e.HireDate }).ToList(); List <EmployeeExtended> employeeList2 = (from e in employeeList join u in users on new { userId = e.UserId } equals new { userId = u.Id } orderby e.FirstName + e.LastName select new EmployeeExtended { Id = e.Id, TeamName = e.TeamName, TeamId = e.TeamId, PositionName = e.PositionName, PositionId = e.PositionId, FirstName = e.FirstName, LastName = e.LastName, UserId = e.UserId, EMail = u.Email, Manager = e.Manager, HireDate = e.HireDate }).ToList(); return(employeeList2 as T); }