예제 #1
0
        public virtual async Task <OperationResultWithData <List <LmsUserDTO> > > SetDefaultRolesForNonParticipants([FromBody] MeetingRequestDto request)
        {
            try
            {
                var param        = Session.LtiSession.LtiParam;
                var updatedUsers = await usersSetup.SetDefaultRolesForNonParticipants(
                    LmsCompany,
                    GetAdminProvider(),
                    param,
                    request.MeetingId);

                return(OperationResultWithData <List <LmsUserDTO> > .Success(updatedUsers.Item2, updatedUsers.Item1));
            }
            catch (Exception ex)
            {
                string errorMessage = GetOutputErrorMessage("SetDefaultRolesForNonParticipants", ex);
                return(OperationResultWithData <List <LmsUserDTO> > .Error(errorMessage));
            }
        }
예제 #2
0
        private void UpdateACRoles(ILmsLicense lmsCompany, LmsCourseMeeting meeting,
                                   IAdobeConnectProxy acProvider, List <MeetingPermissionInfo> enrollments)
        {
            string error        = null;
            var    meetingRoles = usersSetup.GetUserMeetingRoles(meeting);

            var dbUsers = meetingRoles
                          .Select(x => x.User);

            try
            {
                usersSetup.SetDefaultRolesForNonParticipants(
                    lmsCompany,
                    acProvider,
                    meeting,
                    meetingRoles.Select(x => new LmsUserDTO
                {
                    AcId    = x.User.PrincipalId,
                    Id      = x.User.UserIdExtended ?? x.User.UserId,
                    LtiId   = x.User.UserId,
                    Login   = x.User.Username,
                    Name    = x.User.Name,
                    Email   = x.User.Email,
                    LmsRole = x.LmsRole
                }),
                    dbUsers,
                    enrollments,
                    ref error);
            }
            catch (Exception e)
            {
                var message = String.Format(
                    "Error happened when tried to update users in AC for meetingId={0}, scoId={1}",
                    meeting.Id, meeting.GetMeetingScoId());
                logger.Error(message, e);
            }
        }