示例#1
0
        // Token: 0x060019C9 RID: 6601 RVA: 0x0005BE64 File Offset: 0x0005A064
        private static OnlineMeetingType CreateOnlineMeetingTypeFromOnlineMeetingResult(OnlineMeetingResult onlineMeetingResult, Capabilities capabilities, RequestDetailsLogger logger)
        {
            List <Exception>  list = new List <Exception>();
            OnlineMeetingType onlineMeetingType = new OnlineMeetingType();

            onlineMeetingType.HelpUrl              = onlineMeetingResult.CustomizationValues.InvitationHelpUrl;
            onlineMeetingType.LegalUrl             = onlineMeetingResult.CustomizationValues.InvitationLegalUrl;
            onlineMeetingType.CustomFooterText     = onlineMeetingResult.CustomizationValues.InvitationFooterText;
            onlineMeetingType.ExternalDirectoryUri = onlineMeetingResult.DialIn.ExternalDirectoryUri;
            onlineMeetingType.InternalDirectoryUri = onlineMeetingResult.DialIn.InternalDirectoryUri;
            onlineMeetingType.LogoUrl              = onlineMeetingResult.CustomizationValues.InvitationLogoUrl;
            onlineMeetingType.WebUrl = onlineMeetingResult.OnlineMeeting.WebUrl;
            try
            {
                onlineMeetingType.AccessLevel = CreateOnlineMeeting.ConvertAccessLevel(onlineMeetingResult.OnlineMeeting.Accesslevel);
            }
            catch (ArgumentException item)
            {
                list.Add(item);
            }
            try
            {
                onlineMeetingType.LobbyBypass = CreateOnlineMeeting.ConvertLobbyBypass(onlineMeetingResult.OnlineMeeting.PstnUserLobbyBypass);
            }
            catch (ArgumentException item2)
            {
                list.Add(item2);
            }
            try
            {
                onlineMeetingType.Presenters = CreateOnlineMeeting.ConvertPresenters(onlineMeetingResult.OnlineMeeting.AutomaticLeaderAssignment);
            }
            catch (ArgumentException item3)
            {
                list.Add(item3);
            }
            if (capabilities == null)
            {
                return(onlineMeetingType);
            }
            if (onlineMeetingResult.DialIn.IsAudioConferenceProviderEnabled)
            {
                onlineMeetingType.AcpInformation = new AcpInformationType();
                onlineMeetingType.AcpInformation.ParticipantPassCode = onlineMeetingResult.DialIn.ParticipantPassCode;
                onlineMeetingType.AcpInformation.TollNumber          = onlineMeetingResult.DialIn.TollNumber;
                onlineMeetingType.AcpInformation.TollFreeNumbers     = onlineMeetingResult.DialIn.TollFreeNumbers;
            }
            else
            {
                onlineMeetingType.ConferenceId = onlineMeetingResult.OnlineMeeting.PstnMeetingId;
                List <DialInNumberType> list2 = new List <DialInNumberType>();
                foreach (Region region in capabilities.Regions)
                {
                    foreach (AccessNumber accessNumber in region.AccessNumbers)
                    {
                        DialInNumberType dialInNumberType = new DialInNumberType();
                        dialInNumberType.RegionName = region.Name;
                        dialInNumberType.Number     = accessNumber.Number;
                        try
                        {
                            dialInNumberType.Language = new CultureInfo(accessNumber.LanguageID).NativeName;
                        }
                        catch (CultureNotFoundException ex)
                        {
                            ExTraceGlobals.OnlineMeetingTracer.TraceError <int, string>(0, 0L, "CreateOnlineMeeting::CreateOnlineMeetingTypeFromOnlineMeetingResult. CultureNotFoundException occurred when creating CultureInfo from LanguageId '{0}'. Exception:'{1}'.  ", accessNumber.LanguageID, UcwaConfigurationUtilities.BuildFailureLogString(ex));
                            list.Add(new OwaException(string.Format("Unable to create cultureInfo corresponding to lcid '{0}' for region '{1}' with number '{2}'", accessNumber.LanguageID, region.Name, accessNumber.Number), ex));
                        }
                        list2.Add(dialInNumberType);
                    }
                }
                onlineMeetingType.Numbers = list2.ToArray();
            }
            if (list.Count > 0)
            {
                StringBuilder stringBuilder = new StringBuilder();
                foreach (Exception ex2 in list)
                {
                    stringBuilder.AppendFormat("{0}::", UcwaConfigurationUtilities.BuildFailureLogString(ex2));
                }
                logger.Set(CreateOnlineMeetingMetadata.Exceptions, stringBuilder.ToString());
            }
            return(onlineMeetingType);
        }