Esempio n. 1
0
        public virtual async Task <OperationResult> UpdateMeetingAndReturnLmsUsers([FromBody] MeetingDTOInput meeting)
        {
            try
            {
                var param = Session.LtiSession.LtiParam;
                var trace = new StringBuilder();

                var ac = this.GetAdminProvider();
                var useLmsUserEmailForSearch = !string.IsNullOrEmpty(param.lis_person_contact_email_primary);
                var fb = new MeetingFolderBuilder(Session.LmsCompany, ac, useLmsUserEmailForSearch, meeting.GetMeetingType());

                var ret = await _meetingSetup.SaveMeeting(
                    LmsCompany,
                    ac,
                    param,
                    meeting,
                    trace,
                    fb,
                    true);

                return(ret);
            }
            catch (Exception ex)
            {
                string errorMessage = GetOutputErrorMessage("UpdateMeetingAndReturnLmsUsers", ex);
                return(OperationResult.Error(errorMessage));
            }
        }
Esempio n. 2
0
        public virtual async Task <OperationResult> UpdateMeeting([FromBody] EditMeetingDto input)
        {
            try
            {
                var trace = new StringBuilder();
                var ac    = GetAdminProvider();
                //bool useLmsUserEmailForSearch = true;
                var useLmsUserEmailForSearch = !string.IsNullOrEmpty(input.ApiLtiParam.lis_person_contact_email_primary);
                var fb = new MeetingFolderBuilder((LmsCompany)LmsCompany, ac, useLmsUserEmailForSearch, LmsMeetingType.Meeting);
                // HACK: we support Meeting only.
                LmsCourseMeeting existed      = _meetingSetup.GetCourseMeeting(LmsCompany, input.ApiLtiParam.course_id, input.Id, LmsMeetingType.Meeting);
                string           meetingSco   = existed.GetMeetingScoId();
                bool             isNewMeeting = string.IsNullOrEmpty(meetingSco);
                if (isNewMeeting)
                {
                    return(OperationResult.Error("Meeting not found"));
                }

                var           acProvider = this.GetAdminProvider();
                ScoInfoResult scoResult  = acProvider.GetScoInfo(meetingSco);

                MeetingDTOInput meeting = input.Build(existed, scoResult.ScoInfo);

                //LmsUser lmsUser = IoC.Resolve<LmsUserModel>()
                //    .GetOneByUserIdAndCompanyLms(input.ApiLtiParam.lms_user_id, LmsCompany.Id).Value;

                //MeetingDTO dto = await _meetingSetup.BuildDto(
                //    lmsUser,
                //    input.ApiLtiParam,
                //    LmsCompany,
                //    meeting,
                //    null,
                //    //timeZone,
                //    trace);

                OperationResult ret = await _meetingSetup.SaveMeeting(
                    LmsCompany,
                    ac,
                    input.ApiLtiParam,
                    meeting,
                    trace,
                    fb);

                return(ret);
            }
            catch (Exception ex)
            {
                string errorMessage = GetOutputErrorMessage("UpdateMeeting", ex);
                return(OperationResult.Error(errorMessage));
            }
        }
Esempio n. 3
0
        public virtual async Task <OperationResult> CreateNewMeeting([FromBody] CreateMeetingDto input)
        {
            try
            {
                MeetingDTOInput meeting = input.Build();

                var trace = new StringBuilder();
                var ac    = this.GetAdminProvider();
                //// TRICK: new don't care about this settings - cause there is a check UseUserFolder==false
                //bool useLmsUserEmailForSearch = true;
                var useLmsUserEmailForSearch = !string.IsNullOrEmpty(input.ApiLtiParam.lis_person_contact_email_primary);
                var fb = new MeetingFolderBuilder((LmsCompany)LmsCompany, ac, useLmsUserEmailForSearch, LmsMeetingType.Meeting);

                /*
                 * // tool_consumer_info_product_family_code : canvas
                 * // https://esynctraining.instructure.com/courses/231/external_tools/84
                 * var apiTest = input.ApiLtiParam;
                 * apiTest.tool_consumer_info_product_family_code = "canvas";
                 * apiTest.course = "231";
                 * apiTest.course_name= "Regression";
                 * //apiTest.context_label = "Regression";
                 * //apiTest.context_title = "Regression";
                 *
                 * apiTest.lms_user_login = "******"; // custom_canvas_user_login_id
                 * apiTest.lis_person_contact_email_primary = "*****@*****.**";
                 *
                 * apiTest.referer = "https://esynctraining.instructure.com/courses/231/external_tools/84";
                 * apiTest.lms_user_id = "1"; // custom_canvas_user_id
                 *
                 * apiTest.lis_person_name_given = "Mike";
                 * apiTest.lis_person_name_family = "Kollen";
                 */


                // tool_consumer_info_product_family_code: sakai
                // SAKAI: 091887fe-a54e-47d6-8e2a-f386f1d24426
                // course id = test_lti

                /*var apiTest = input.ApiLtiParam;
                 * apiTest.course = "test_lti";
                 * apiTest.tool_consumer_info_product_family_code = "sakai";
                 * apiTest.course_name = "Test LTI site";
                 * //apiTest.context_label = "Test LTI site";
                 * //apiTest.context_title = "Test LTI site";
                 * apiTest.lis_person_contact_email_primary = "*****@*****.**";
                 * // ??? HEADER??
                 * apiTest.referer = "http://sakai11.esynctraining.com/access/basiclti/site/test_lti/e8efacd7-f9eb-4cd5-9993-07d992666617";
                 *
                 * apiTest.lms_user_login = "******"; // sakai: lis_person_sourcedid
                 * apiTest.lms_user_id = "admin"; // sakai: user_id
                 *
                 * apiTest.lis_person_name_given = "Sakai";
                 * apiTest.lis_person_name_family = "Administrator";
                 *
                 * apiTest.ext_ims_lis_memberships_url = "http://sakai11.esynctraining.com/imsblis/service/";
                 * //apiTest.ext_ims_lti_tool_setting_url = "http://sakai11.esynctraining.com/imsblis/service/";
                 * apiTest.ext_ims_lis_memberships_id = "e4edb1c55e145b06d1390111d5d5590689834fe2a1882f301b10f397a89627bb:::admin:::e8efacd7-f9eb-4cd5-9993-07d992666617";
                 */

                OperationResult ret = await _meetingSetup.SaveMeeting(
                    LmsCompany,
                    ac,
                    input.ApiLtiParam,
                    meeting,
                    trace,
                    fb);

                return(ret);
            }
            catch (Exception ex)
            {
                string errorMessage = GetOutputErrorMessage("UpdateMeeting", ex);
                return(OperationResult.Error(errorMessage));
            }
        }