2 using System.Collections.Generic;
4 using System.Security.Claims;
28 public virtual IEnumerable<ScientificInternship>
GetAll()
30 return _scientificInternshipRepository.All();
33 public virtual IEnumerable<ScientificInternship>
GetAllWhere(Func<ScientificInternship, bool> predicate)
35 return GetAll().Where(predicate);
38 public virtual IEnumerable<ScientificInternship>
GetItemsByRole(ClaimsPrincipal userClaims)
40 IEnumerable<ScientificInternship> items;
43 items = _scientificInternshipRepository.All();
47 var department = _departmentRepository.Get(r => r.Head.UserName == userClaims.Identity.Name);
48 items = _scientificInternshipRepository.AllWhere(m => m.UserProfilesScientificInternships.Any(p => department.Staff.Contains(p.UserProfile)));
52 var user = _userProfileRepository.Get(u => u.UserName == userClaims.Identity.Name);
53 items = _scientificInternshipRepository.AllWhere(m => m.UserProfilesScientificInternships.Any(p => p.UserProfile.Id == user.Id));
59 public virtual IEnumerable<ScientificInternship>
GetPageByRole(
int page,
int count, ClaimsPrincipal userClaims)
61 return GetItemsByRole(userClaims).Skip((page - 1) * count).Take(count).ToList();
66 return GetItemsByRole(userClaims).Count();
71 return _scientificInternshipRepository.Get(
id);
76 return _scientificInternshipRepository.Get(predicate);
92 var scientificInternship = GetById(model.
Id);
93 if (scientificInternship == null)
99 scientificInternship.Contents = model.
Contents;
100 scientificInternship.Started = model.
Started;
101 scientificInternship.Ended = model.
Ended;
102 _scientificInternshipRepository.Update(scientificInternship);
107 _scientificInternshipRepository.Delete(
id);
112 return _scientificInternshipRepository.Get(
id) != null;
117 if (scientificInternship == null || user == null)
125 UserProfileId = user.Id,
127 ScientificInternshipId = scientificInternship.
Id 129 _scientificInternshipRepository.Update(scientificInternship);
134 if (scientificInternship == null || user == null)
141 _scientificInternshipRepository.Update(scientificInternship);
144 public virtual IEnumerable<UserProfile>
GetUsers(Guid
id)
146 var scientificInternship = _scientificInternshipRepository.Get(
id);
147 IEnumerable<UserProfile> users = null;
148 if (scientificInternship != null)
150 users = scientificInternship.UserProfilesScientificInternships.Select(u => u.UserProfile);
ScientificInternshipService(ScientificReportDbContext context)
virtual void CreateItem(ScientificInternshipModel model)
virtual IEnumerable< ScientificInternship > GetPageByRole(int page, int count, ClaimsPrincipal userClaims)
void AddUser(ScientificInternship scientificInternship, UserProfile user)
virtual IEnumerable< ScientificInternship > GetAll()
virtual bool Exists(Guid id)
virtual ScientificInternship Get(Func< ScientificInternship, bool > predicate)
virtual ICollection< UserProfilesScientificInternships > UserProfilesScientificInternships
virtual void DeleteById(Guid id)
virtual IEnumerable< ScientificInternship > GetItemsByRole(ClaimsPrincipal userClaims)
static bool IsHeadOfDepartment(ClaimsPrincipal user)
static bool IsAdmin(ClaimsPrincipal user)
void RemoveUser(ScientificInternship scientificInternship, UserProfile user)
virtual ScientificInternship GetById(Guid id)
virtual int GetCountByRole(ClaimsPrincipal userClaims)
virtual IEnumerable< ScientificInternship > GetAllWhere(Func< ScientificInternship, bool > predicate)
virtual IEnumerable< UserProfile > GetUsers(Guid id)
virtual void UpdateItem(ScientificInternshipEditModel model)