public MeetingPermissionAttributeImpl(IxMeetingBusinessOperations meetingBop, IxUserContext userContext,
                                       EnMeetingAccessLevel level)
 {
     this.meetingBop  = meetingBop;
     this.userContext = userContext;
     this.level       = level;
 }
 public MeetingPermissionAttribute(EnMeetingAccessLevel level) : base(typeof(MeetingPermissionAttributeImpl))
 {
     Arguments = new object[] { level };
 }
        public async Task <bool> CheckMeetingAccessLevel(string userId, string meetingId, EnMeetingAccessLevel level)
        {
            var meeting = await this.GetMeetingDb(meetingId);

            if (level == EnMeetingAccessLevel.View)
            {
                return(IsAllowedToSeeMeeting(meeting, userId));
            }

            if (level == EnMeetingAccessLevel.Manage || level == EnMeetingAccessLevel.Edit)
            {
                return(meeting.OwnerId == userId);
            }

            return(false);
        }