public BaseResponseModel Get(int eid)
        {
            var e = _services.GetExamTakers(eid);

            if (e != null)
            {
                var list = new List <UserBasicInfo>();
                foreach (var uid in e)
                {
                    var u = _userServices.GetObject(uid.Item1);

                    if (u != null)
                    {
                        list.Add(new UserBasicInfo()
                        {
                            Id        = u.Id,
                            Nickname  = u.NickName,
                            Avatar    = u.Avatar,
                            BanReason = uid.Item2
                        });
                    }
                }

                return(new GetExamTakersResponseModel()
                {
                    Code = 0,
                    ExamTakers = list
                });
            }

            return(ErrorCodes.CreateSimpleResponse(ErrorCodes.ExamNotExist));
        }
示例#2
0
        /// <summary>
        /// (Used by proctors)
        /// Called when a proctor joins an exam, send message to exam takers
        /// </summary>
        /// <param name="examId"></param>
        public async Task ProctorJoin(string examId)
        {
            var examTakers = _examServices.GetExamTakers(int.Parse(examId)).Select(x => x.Item1);

            if (examTakers != null)
            {
                foreach (var taker in examTakers)
                {
                    await Clients.User(taker).SendAsync("ProctorConnected", Context.UserIdentifier);
                }
            }
        }