Example #1
0
        public void CheckAndSetNoneACMapping(LmsUserDTO user, ILmsLicense lmsCompany)
        {
            LmsCompanyRoleMapping mapping = lmsCompany.RoleMappings
                                            .FirstOrDefault(x => x.LmsRoleName.Equals(user.LmsRole, StringComparison.OrdinalIgnoreCase));

            if (mapping != null && mapping.AcRole == AcRole.None.Id) // LMS role is set to be not mapped to any AC role
            {
                user.AcRole = AcRole.None.Id;
            }
        }
Example #2
0
        public MeetingPermissionId SetAcRole(ILmsLicense lmsCompany, LmsUserDTO u, bool ignoreEmptyACRole = false)
        {
            string role = u.LmsRole != null?u.LmsRole.ToLower() : string.Empty;

            var permission = MeetingPermissionId.view;

            u.AcRole = AcRole.Participant.Id;
            if (string.IsNullOrWhiteSpace(u.Id) || u.Id.Equals("0"))
            {
                permission = MeetingPermissionId.remove;
                u.AcRole   = null; // "Remove"; // probably doesn't make sence, need to review and remove
            }

            LmsCompanyRoleMapping mapping = lmsCompany.RoleMappings.FirstOrDefault(x => x.LmsRoleName.Equals(role, StringComparison.OrdinalIgnoreCase));

            if (mapping != null)
            {
                if (mapping.AcRole == AcRole.None.Id)
                {
                    if (!ignoreEmptyACRole)
                    {
                        permission = AcRole.None.MeetingPermissionId;
                        u.AcRole   = AcRole.None.Id;
                    }

                    return(permission);
                }
                else
                {
                    AcRole acRole = AcRole.GetById(mapping.AcRole);
                    u.AcRole = acRole.Id;
                    return(acRole.MeetingPermissionId);
                }
            }

            if (role.Contains("teacher") || role.Contains("instructor") || role.Contains("owner") ||
                role.Contains("admin") || role.Contains("lecture"))
            {
                permission = MeetingPermissionId.host;
                u.AcRole   = AcRole.Host.Id;
            }
            else if (role.Contains("ta") || role.Contains("designer") || role.Contains("author") ||
                     role.Contains("teaching assistant") || role.Contains("course builder") ||
                     role.Contains("grader") || role == "advisor")
            {
                u.AcRole   = AcRole.Presenter.Id;
                permission = MeetingPermissionId.mini_host;
            }

            return(permission);
        }
Example #3
0
        private static void ProcessRoleMapping(CompanyLmsDTO dto, LmsCompany instance)
        {
            if (dto.roleMapping == null)
            {
                dto.roleMapping = new LmsCompanyRoleMappingDTO[0];
            }

            var oldMapsToDelete = new List <LmsCompanyRoleMapping>();

            foreach (LmsCompanyRoleMapping old in instance.RoleMappings)
            {
                var newSetRole = dto.roleMapping.FirstOrDefault(x => x.lmsRoleName == old.LmsRoleName);
                if (newSetRole == null)
                {
                    oldMapsToDelete.Add(old);
                }
                else
                {
                    old.AcRole        = newSetRole.acRole;
                    old.IsTeacherRole = newSetRole.isTeacherRole;
                }
            }
            if (oldMapsToDelete.Count > 0)
            {
                foreach (var item in oldMapsToDelete)
                {
                    instance.RoleMappings.Remove(item);
                }
            }

            foreach (LmsCompanyRoleMappingDTO newRole in dto.roleMapping)
            {
                if (!instance.RoleMappings.Any(map => map.LmsRoleName == newRole.lmsRoleName))
                {
                    var map = new LmsCompanyRoleMapping
                    {
                        LmsCompany       = instance,
                        LmsRoleName      = newRole.lmsRoleName,
                        AcRole           = newRole.acRole,
                        IsDefaultLmsRole = newRole.isDefaultLmsRole,
                        IsTeacherRole    = newRole.isTeacherRole,
                    };
                    instance.RoleMappings.Add(map);
                }
            }
        }