public async Task <IEnumerable <UserViewModelDTO> > GetAllUsersAsync() { var result1 = from Aspnetusers in _appDbContext.Aspnetusers join Aspnetuserroles in _appDbContext.Aspnetuserroles on Aspnetusers.Id equals Aspnetuserroles.UserId join Aspnetroles in _appDbContext.Aspnetroles on Aspnetuserroles.RoleId equals Aspnetroles.Id where Aspnetuserroles.Role.Name != "Admin" select new { Aspnetusers.Id, Aspnetusers.UserName, Aspnetroles.Name, Aspnetusers.SupervisedBy }; var result2 = await result1.ToListAsync(); List <UserViewModelDTO> userViewModelDTOs = new List <UserViewModelDTO>(); for (int i = 0; i < result2.Count(); i++) { UserViewModelDTO uvmDto = new UserViewModelDTO() { Id = result2.ElementAt(i).Id, Username = result2.ElementAt(i).UserName, RoleName = result2.ElementAt(i).Name, SupervisedBy = result2.ElementAt(i).SupervisedBy }; userViewModelDTOs.Add(uvmDto); } return(userViewModelDTOs); }
public async Task <IEnumerable <UserViewModelDTO> > GetAllSupervisedUsersWithWorkingHours(string supervisorId) { var query = from u in _appDbContext.Aspnetusers join pi in _appDbContext.Projectinfo on u.Id equals pi.UserId into q1 from pi in q1 where u.SupervisedBy == supervisorId group new { u } by new { u.Id, u.UserName, u.SupervisedBy } into q select new { Id = q.Key.Id, Username = q.Key.UserName, SupervisedBy = q.Key.SupervisedBy }; var queryResult = await query.ToListAsync(); List <UserViewModelDTO> modelList = new List <UserViewModelDTO>(); for (int i = 0; i < queryResult.Count(); i++) { UserViewModelDTO model = new UserViewModelDTO() { Id = queryResult.ElementAt(i).Id, Username = queryResult.ElementAt(i).Username, SupervisedBy = queryResult.ElementAt(i).SupervisedBy }; modelList.Add(model); } return(modelList); }