private bool IsDirectoryLevel(Student student) { var hasRightsToSchool = AssociatedSchoolIds.Contains(student.SchoolId); var hasProviderAccessRights = AssociatedProviderIds.Intersect(student.ApprovedProviders.Select(ap => ap.Id)).Any(); return(!IsAdministrator && !hasRightsToSchool && !hasProviderAccessRights); }
private string CreateServiceOfferingString(Student student) { if (ShowAssignedServices(student) || student.StudentAssignedOfferings.Select(s => s.ServiceOffering.ProviderId).Intersect(AssociatedProviderIds).Any()) { var serviceOfferings = new List <string>(); foreach (StudentAssignedOffering offering in student.StudentAssignedOfferings.Where(s => s.IsActive)) { if (IsAdministrator || IsSiteCoordinator || AssociatedProviderIds.Contains(offering.ServiceOffering.ProviderId)) { serviceOfferings.Add(CreateServiceOfferingString(offering, true)); } else if (!offering.ServiceOffering.ServiceType.IsPrivate && IsProvider) { serviceOfferings.Add(CreateServiceOfferingString(offering, false)); } } if (serviceOfferings.Count > 0) { return(BuildListString(serviceOfferings)); } } return(string.Empty); }