ScientificReport
TeacherReport.cs
Go to the documentation of this file.
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel.DataAnnotations;
4 using System.Linq;
6 
7 namespace ScientificReport.DAL.Entities.Reports
8 {
9  public class TeacherReport : Report
10  {
11  [Key]
12  public override Guid Id { get; set; }
13 
14  public override DateTime Created { get; set; }
15  public override DateTime Edited { get; set; }
16 
17 
18  public UserProfile.UserProfile Teacher { get; set; }
19 
20 
21  public ICollection<TeacherReportsPostgraduateDissertationGuidances> TeacherReportsPostgraduateDissertationGuidances { get; set; }
22  public ICollection<TeacherReportsPostgraduateGuidances> TeacherReportsPostgraduateGuidances { get; set; }
23  public ICollection<TeacherReportsPatents> TeacherReportsPatents { get; set; }
24  public ICollection<TeacherReportsReviews> TeacherReportsReviews { get; set; }
25  public ICollection<TeacherReportsOppositions> TeacherReportsOppositions { get; set; }
26  public ICollection<TeacherReportsScientificConsultations> TeacherReportsScientificConsultations { get; set; }
27  public ICollection<TeacherReportsArticles> TeacherReportsArticles { get; set; }
28  public ICollection<TeacherReportsScientificWorks> TeacherReportsScientificWorks { get; set; }
29  public ICollection<TeacherReportsPublications> TeacherReportsPublications { get; set; }
30  public ICollection<TeacherReportsReportThesis> TeacherReportsReportThesis { get; set; }
31  public ICollection<TeacherReportsGrants> TeacherReportsGrants { get; set; }
32  public ICollection<TeacherReportsScientificInternships> TeacherReportsScientificInternships { get; set; }
33  public ICollection<TeacherReportsMemberships> TeacherReportsMemberships { get; set; }
34 
35  public IEnumerable<ScientificWork> GetScientificWorks()
36  {
37  return TeacherReportsScientificWorks.Select(tr => tr.ScientificWork);
38  }
39  public IEnumerable<Publication> GetPublications()
40  {
41  return TeacherReportsPublications.Select(tr => tr.Publication);
42  }
43  public IEnumerable<Article> GetArticles()
44  {
45 
46  return TeacherReportsArticles.Select(tr => tr.Article);
47  }
48  public IEnumerable<ReportThesis> GetReportTheses()
49  {
50  return TeacherReportsReportThesis.Select(tr => tr.ReportThesis);
51  }
52 
53  public IEnumerable<Grant> GetGrants()
54  {
55  return TeacherReportsGrants.Select(tr => tr.Grant);
56  }
57  public IEnumerable<ScientificInternship> GetScientificInternships()
58  {
59  return TeacherReportsScientificInternships.Select(tr => tr.ScientificInternship);
60  }
61  public IEnumerable<PostgraduateGuidance> GetPostgraduateGuidances()
62  {
63  return TeacherReportsPostgraduateGuidances.Select(tr => tr.PostgraduateGuidance);
64  }
65  public IEnumerable<ScientificConsultation> GetScientificConsultations()
66  {
67  return TeacherReportsScientificConsultations.Select(tr => tr.ScientificConsultation);
68  }
69  public IEnumerable<PostgraduateDissertationGuidance> GetPostgraduateDissertationGuidances()
70  {
71  return TeacherReportsPostgraduateDissertationGuidances.Select(tr => tr.PostgraduateDissertationGuidance);
72  }
73  public IEnumerable<Review> GetReviews()
74  {
75  return TeacherReportsReviews.Select(tr => tr.Review);
76  }
77  public IEnumerable<Opposition> GetOppositions()
78  {
79  return TeacherReportsOppositions.Select(tr => tr.Opposition);
80  }
81 
82  public IEnumerable<Membership> GetMemberships()
83  {
84  return TeacherReportsMemberships.Select(tr => tr.Membership);
85  }
86  public IEnumerable<Membership> GetMembershipsWithFilter(Func<Membership, int, bool> predicate)
87  {
88  return GetMemberships().Where(predicate);
89  }
90  public IEnumerable<Membership> GetMembershipsByType(Membership.Types type)
91  {
92  return GetMembershipsWithFilter((p, i) => p.Type == type);
93  }
94 
95  public IEnumerable<PatentLicenseActivity> GetPatents()
96  {
97  return TeacherReportsPatents.Select(tr => tr.Patent);
98  }
99  public IEnumerable<PatentLicenseActivity> GetPatentsWithFilter(Func<PatentLicenseActivity, int, bool> predicate)
100  {
101  return GetPatents().Where(predicate);
102  }
103  public IEnumerable<PatentLicenseActivity> GetPatentsByType(PatentLicenseActivity.Types type)
104  {
105  return GetPatentsWithFilter((p, i) => p.Type == type);
106  }
107 
108 
109  public IEnumerable<Conference> GetConferences()
110  {
111  return TeacherReportsReportThesis.Select(tr => tr.ReportThesis.Conference);
112  }
113  public IEnumerable<Conference> GetConferencesWithFilter(Func<Conference, int, bool> predicate)
114  {
115  return GetConferences().Where(predicate);
116  }
117  public IEnumerable<Conference> GetConferencesByType(Conference.Types type)
118  {
119  return GetConferencesWithFilter((p, i) => p.Type == type);
120  }
121 
122  public IEnumerable<Publication> GetPublicationsWithFilter(Func<Publication, int, bool> predicate)
123  {
124  return GetPublications().Where(predicate);
125  }
126  public IEnumerable<Publication> GetPublicationsByType(Publication.PublicationTypes type)
127  {
128  return GetPublicationsWithFilter((p, i) => p.PublicationType == type);
129  }
130  public IEnumerable<Publication> GetPublicationsOther()
131  {
132  return GetPublicationsWithFilter((p, i) => p.PublicationType == Publication.PublicationTypes.Other || p.PublicationType == Publication.PublicationTypes.Comment || p.PublicationType == Publication.PublicationTypes.BibliographicIndex );
133  }
134 
135  public IEnumerable<Article> GetArticlesWithFilter(Func<Article, int, bool> predicate)
136  {
137  return GetArticles().Where(predicate);
138  }
139  public IEnumerable<Article> GetArticlesByType(Article.ArticleTypes type)
140  {
141  return GetArticlesWithFilter((p, i) => p.ArticleType == type);
142  }
143 
144 
145  public IEnumerable<ReportThesis> GetReportThesesWithFilter(Func<ReportThesis, int, bool> predicate)
146  {
147  return GetReportTheses().Where(predicate);
148  }
149  public IEnumerable<ReportThesis> GetReportThesesByConferenceType(Conference.Types type)
150  {
151  return GetReportThesesWithFilter((p, i) => p.Conference.Type == type);
152  }
153 
154  }
155 }
IEnumerable< ReportThesis > GetReportThesesByConferenceType(Conference.Types type)
IEnumerable< ScientificWork > GetScientificWorks()
IEnumerable< ScientificConsultation > GetScientificConsultations()
IEnumerable< Membership > GetMembershipsByType(Membership.Types type)
IEnumerable< Conference > GetConferencesWithFilter(Func< Conference, int, bool > predicate)
IEnumerable< Article > GetArticlesByType(Article.ArticleTypes type)
IEnumerable< PostgraduateGuidance > GetPostgraduateGuidances()
IEnumerable< PatentLicenseActivity > GetPatents()
IEnumerable< Conference > GetConferencesByType(Conference.Types type)
IEnumerable< PatentLicenseActivity > GetPatentsWithFilter(Func< PatentLicenseActivity, int, bool > predicate)
IEnumerable< Article > GetArticlesWithFilter(Func< Article, int, bool > predicate)
IEnumerable< PatentLicenseActivity > GetPatentsByType(PatentLicenseActivity.Types type)
IEnumerable< Publication > GetPublicationsByType(Publication.PublicationTypes type)
IEnumerable< ScientificInternship > GetScientificInternships()
IEnumerable< PostgraduateDissertationGuidance > GetPostgraduateDissertationGuidances()
IEnumerable< Membership > GetMembershipsWithFilter(Func< Membership, int, bool > predicate)
IEnumerable< Publication > GetPublicationsWithFilter(Func< Publication, int, bool > predicate)
IEnumerable< ReportThesis > GetReportThesesWithFilter(Func< ReportThesis, int, bool > predicate)