2 using System.Collections.Generic;
4 using System.Security.Claims;
29 public virtual IEnumerable<Conference>
GetAll()
31 return _conferenceRepository.All();
34 public virtual IEnumerable<Conference>
GetAllWhere(Func<Conference, bool> predicate)
36 return GetAll().Where(predicate);
39 public virtual IEnumerable<Conference>
GetItemsByRole(ClaimsPrincipal userClaims)
41 IEnumerable<Conference> items;
44 items = _conferenceRepository.All();
48 var department = _departmentRepository.Get(r => r.Head.UserName == userClaims.Identity.Name);
49 items = _conferenceRepository.AllWhere(a => GetParticipators(a.Id).Any(u => department.Staff.Contains(u)));
53 var user = _userProfileRepository.Get(u => u.UserName == userClaims.Identity.Name);
54 items = _conferenceRepository.AllWhere(a => GetParticipators(a.Id).Any(u => u.Id == user.Id));
60 public virtual IEnumerable<Conference>
GetPageByRole(
int page,
int count, ClaimsPrincipal userClaims)
62 return GetItemsByRole(userClaims).Skip((page - 1) * count).Take(count).ToList();
67 return GetItemsByRole(userClaims).Count();
72 return _conferenceRepository.Get(
id);
77 return _conferenceRepository.Get(predicate);
82 _conferenceRepository.Create(conference);
87 _conferenceRepository.Update(conference);
92 _conferenceRepository.Delete(
id);
97 return _conferenceRepository.Get(
id) != null;
102 return _reportThesisRepository.AllWhere(t => t.Conference.Id.Equals(
id));
107 var theses = GetReportTheses(
id).ToList();
108 IList<UserProfile> participators =
new List<UserProfile>();
109 foreach (var thesis
in theses)
111 participators = participators.Concat(thesis.UserProfilesReportTheses.Select(t => t.UserProfile)).ToList();
113 return participators;
virtual Conference Get(Func< Conference, bool > predicate)
virtual void CreateItem(Conference conference)
virtual void UpdateItem(Conference conference)
virtual bool Exists(Guid id)
virtual IEnumerable< Conference > GetItemsByRole(ClaimsPrincipal userClaims)
static bool IsHeadOfDepartment(ClaimsPrincipal user)
virtual IEnumerable< Conference > GetAllWhere(Func< Conference, bool > predicate)
virtual IEnumerable< Conference > GetPageByRole(int page, int count, ClaimsPrincipal userClaims)
static bool IsAdmin(ClaimsPrincipal user)
virtual IEnumerable< Conference > GetAll()
virtual IEnumerable< UserProfile > GetParticipators(Guid id)
virtual int GetCountByRole(ClaimsPrincipal userClaims)
ConferenceService(ScientificReportDbContext context)
virtual IEnumerable< ReportThesis > GetReportTheses(Guid id)
virtual Conference GetById(Guid id)
virtual void DeleteById(Guid id)