Example #1
0
        public OperationResult GetDownloadLink(string scoId)
        {
            try
            {
                var ac             = this.GetUserProvider();
                var contentService = new ContentService(Logger, ac);
                var helper         = new ContentControllerHelper <ScoContentDto>(Logger, contentService, new ScoContentDtoMapper());

                var param   = Session.LtiSession.LtiParam;
                var lmsUser = _lmsUserModel.GetOneByUserIdAndCompanyLms(param.lms_user_id, LmsCompany.Id).Value;
                if (lmsUser == null)
                {
                    throw new EdugameCloud.Lti.Core.WarningMessageException($"No user with id {param.lms_user_id} found in the database.");
                }

                string breezeToken = MeetingSetup.ACLogin(LmsCompany, param, lmsUser, ac).BreezeSession;

                return(helper.GetDownloadAsZipLink(scoId, breezeToken));
            }
            catch (Exception ex)
            {
                string errorMessage = GetOutputErrorMessage("ContentApi-GetDownloadLink", ex);
                return(OperationResultWithData <IEnumerable <ScoContentDto> > .Error(errorMessage));
            }
        }
Example #2
0
 public async Task <OperationResultWithData <IEnumerable <ScoContentDto> > > FolderContent(string folderScoId)
 {
     try
     {
         var ac             = this.GetUserProvider();
         var contentService = new ContentService(Logger, ac);
         var helper         = new ContentControllerHelper <ScoContentDto>(Logger, contentService, new ScoContentDtoMapper());
         return(await helper.GetFolderContent(folderScoId, new NullDtoProcessor <ScoContentDto>()));
     }
     catch (Exception ex)
     {
         string errorMessage = GetOutputErrorMessage("ContentApi-FolderContent", ex);
         return(OperationResultWithData <IEnumerable <ScoContentDto> > .Error(errorMessage));
     }
 }
Example #3
0
        public OperationResult GetDownloadLink(string scoId)
        {
            try
            {
                if (!LmsCompany.GetSetting <bool>(LmsCompanySettingNames.EnableMyContent))
                {
                    return(OperationResult.Error("Operation is not enabled."));
                }

                var ac             = this.GetUserProvider();
                var contentService = new ContentService(Logger, ac);
                var helper         = new ContentControllerHelper <ScoContentDto>(Logger, contentService, new ScoContentDtoMapper());

                var param   = Session.LtiSession.LtiParam;
                var lmsUser = _lmsUserModel.GetOneByUserIdAndCompanyLms(param.lms_user_id, LmsCompany.Id).Value;
                if (lmsUser == null)
                {
                    throw new Core.WarningMessageException($"No user with id {param.lms_user_id} found in the database.");
                }

                if (lmsUser.PrincipalId == null)
                {
                    throw new Core.WarningMessageException("User doesn't have account in Adobe Connect.");
                }

                var registeredUser = ac.GetOneByPrincipalId(lmsUser.PrincipalId).PrincipalInfo.Principal;

                string breezeToken = MeetingSetup.ACLogin(LmsCompany, param, lmsUser, registeredUser, ac);

                return(helper.GetDownloadAsZipLink(scoId, breezeToken));
            }
            catch (Exception ex)
            {
                string errorMessage = GetOutputErrorMessage("ContentApi-GetDownloadLink", ex);
                return(OperationResultWithData <IEnumerable <ScoContentDto> > .Error(errorMessage));
            }
        }