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);
        }
Ejemplo n.º 2
0
        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);
        }