예제 #1
0
        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);
        }
예제 #2
0
        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());
        }