示例#1
0
        public ActionResult SetPermission(string meetingId, string meetingName, string principalId, string permissionId, string currentPrincipalId, string returnUrl)
        {
            try
            {
                if (this.LoginWithSession().Success)
                {
                    AdobeConnect.UpdateMeetingPermissionForPrincipal(meetingId, principalId, EnumReflector.ReflectEnum(permissionId, MeetingPermissionId.not_set));
                }

                return(RedirectToAction("Index", new { meetingId, meetingName, currentPrincipalId, returnUrl }));
            }
            catch
            {
            }

            return(View(ViewName));
        }
示例#2
0
        //
        // GET: /MeetingParticipants/

        /// <summary>
        /// The index.
        /// </summary>
        /// <param name="meetingId">The meeting id.</param>
        /// <param name="meetingName">Name of the meeting.</param>
        /// <param name="currentPrincipalId">The current principal id.</param>
        /// <param name="returnUrl">The return url.</param>
        /// <returns>
        /// The <see cref="ActionResult"/>.
        /// </returns>
        public ActionResult Index(string meetingId, string meetingName, string currentPrincipalId, string returnUrl)
        {
            ViewBag.ReturnUrl          = string.IsNullOrWhiteSpace(returnUrl) ? this.ReferrerUrl : returnUrl;
            ViewBag.CurrentPrincipalId = currentPrincipalId;
            ViewBag.MeetingId          = meetingId;
            ViewBag.MeetingName        = meetingName;


            if (!this.LoginWithSession().Success)
            {
                return(this.View(ViewName));
            }

            var principalsResult = AdobeConnect.GetGroupPrincipalUsers(currentPrincipalId);

            if (!principalsResult.Success || !principalsResult.Values.Any())
            {
                return(this.View(ViewName));
            }

            var hosts        = AdobeConnect.GetMeetingHosts(meetingId).Values ?? Enumerable.Empty <PermissionInfo>();
            var presenters   = AdobeConnect.GetMeetingPresenters(meetingId).Values ?? Enumerable.Empty <PermissionInfo>();
            var participants = AdobeConnect.GetMeetingParticipants(meetingId).Values ?? Enumerable.Empty <PermissionInfo>();

            var allParticipantIds = new List <string>();

            allParticipantIds.AddRange(hosts.Select(p => p.PrincipalId));
            allParticipantIds.AddRange(presenters.Select(p => p.PrincipalId));
            allParticipantIds.AddRange(participants.Select(p => p.PrincipalId));

            var model = new MeetingParticipantsModel
            {
                Principals   = principalsResult.Values.Where(p => !allParticipantIds.Any(id => id.Equals(p.PrincipalId, StringComparison.InvariantCultureIgnoreCase))).Select(p => p.ToPrincipalSlimModel()).ToArray(),
                Hosts        = hosts.Select(p => p.ToParticipantSlimModel()).ToArray(),
                Presenters   = presenters.Select(p => p.ToParticipantSlimModel()).ToArray(),
                Participants = participants.Select(p => p.ToParticipantSlimModel()).ToArray()
            };

            return(this.View(ViewName, model));
        }