14 var publicationType = publication.GetType();
17 result = ((
Publication) publication).UserProfilesPublications.Any(upp => upp.UserProfile.Id == user.Id);
19 else if (publicationType == typeof(
Article))
21 result = ((
Article) publication).UserProfilesArticles.Any(upp => upp.Author.Id == user.Id);
25 result = ((
ScientificWork) publication).UserProfilesScientificWorks.Any(upp => upp.UserProfile.Id == user.Id);
34 var publicationType = publication.GetType();
37 result = ((
Publication) publication).UserProfilesPublications.Any(up => department.
Staff.Contains(up.UserProfile));
39 else if (publicationType == typeof(
Article))
41 result = ((
Article) publication).UserProfilesArticles.Any(up => department.
Staff.Contains(up.Author));
45 result = ((
ScientificWork) publication).UserProfilesScientificWorks.Any(up => department.
Staff.Contains(up.UserProfile));
54 var publicationType = publication.GetType();
57 result = ((
Publication) publication).UserProfilesPublications.Any(up => predicate(up.UserProfile));
59 else if (publicationType == typeof(
Article))
61 result = ((
Article) publication).UserProfilesArticles.Any(up => predicate(up.Author));
65 result = ((
ScientificWork) publication).UserProfilesScientificWorks.Any(up => predicate(up.UserProfile));
static bool CheckForPersonalPublication(PublicationBase publication, UserProfile user)
virtual ICollection< UserProfile.UserProfile > Staff
static bool CheckForDepartmentPublication(PublicationBase publication, Department department)
static bool CheckForPublication(PublicationBase publication, Func< UserProfile, bool > predicate)