public async Task <List <ShortGroupModel> > GetUserGroups(string userId) { List <ShortGroupModel> groupList = new List <ShortGroupModel>(); var groupIds = await context.Relation_StudentGroup.Where(r => r.StudentId == userId).Select(r => r.GroupId).ToListAsync(); foreach (var id in groupIds) { ShortGroupModel model = new ShortGroupModel(); model.Id = id; var gr = context.Groups.FirstOrDefault(g => g.Id == id); model.Name = $"{gr.Subject} ({gr.Name})"; groupList.Add(model); } return(groupList); }
public async Task <List <Student> > GetAllStudents() { List <Student> res = new List <Student>(); var users = await context.Users.Where(u => u.Role == "Student").ToListAsync(); foreach (var user in users) { List <ShortGroupModel> groupList = new List <ShortGroupModel>(); var groupIds = await context.Relation_StudentGroup.Where(r => r.StudentId == user.Id).Select(r => r.GroupId).ToListAsync(); foreach (var id in groupIds) { ShortGroupModel model = new ShortGroupModel(); model.Id = id; var gr = context.Groups.FirstOrDefault(g => g.Id == id); model.Name = $"{gr.Subject} ({gr.Name})"; groupList.Add(model); } res.Add( new Student { Id = user.Id, AlbumNumber = user.AlbumNumber, Password = user.IsRegistered ? "**********" : Cryptor.Decrypt(user.Password), EmailAddress = user.EmailAddress, FirstName = user.FirstName, LastName = user.LastName, IsRegistered = user.IsRegistered, IsBlocked = user.IsBlocked, DateCreated = user.DateCreated.Value, DateRegistered = user.DateRegistered, DateBlocked = user.DateBlocked, Login = user.Login, GitHubLogin = user.GitHubLogin, AvatarPath = user.AvatarPath, Groups = groupList }); } return(res.OrderBy(s => s.LastName).ToList()); }