2 using System.Collections.Generic;
4 using System.Security.Claims;
28 public virtual IEnumerable<PatentLicenseActivity>
GetAll()
30 return _patentLicenseActivityRepository.All();
33 public virtual IEnumerable<PatentLicenseActivity>
GetAllWhere(Func<PatentLicenseActivity, bool> predicate)
35 return GetAll().Where(predicate);
38 public virtual IEnumerable<PatentLicenseActivity>
GetItemsByRole(ClaimsPrincipal userClaims)
40 IEnumerable<PatentLicenseActivity> items;
43 items = _patentLicenseActivityRepository.All();
47 var department = _departmentRepository.Get(r => r.Head.UserName == userClaims.Identity.Name);
48 items = _patentLicenseActivityRepository.AllWhere(
49 a => a.AuthorsPatentLicenseActivities.Any(u => department.Staff.Contains(u.Author)) ||
50 a.ApplicantsPatentLicenseActivities.Any(u => department.Staff.Contains(u.Applicant))
55 var user = _userProfileRepository.Get(u => u.UserName == userClaims.Identity.Name);
56 items = _patentLicenseActivityRepository.AllWhere(
57 a => a.AuthorsPatentLicenseActivities.Any(u => u.Author.Id == user.Id) ||
58 a.ApplicantsPatentLicenseActivities.Any(u => u.Applicant.Id == user.Id)
65 public virtual IEnumerable<PatentLicenseActivity>
GetPageByRole(
int page,
int count, ClaimsPrincipal userClaims)
67 return GetItemsByRole(userClaims).Skip((page - 1) * count).Take(count).ToList();
72 return GetItemsByRole(userClaims).Count();
77 return _patentLicenseActivityRepository.Get(
id);
82 return _patentLicenseActivityRepository.Get(predicate);
98 var patentLicenseActivity = GetById(model.
Id);
99 if (patentLicenseActivity == null)
104 patentLicenseActivity.Name = model.
Name;
105 if (patentLicenseActivity.Type != model.
Type)
109 var users = patentLicenseActivity.ApplicantsPatentLicenseActivities.Select(u => u.Applicant).ToList();
110 for (var i = 0; i < users.Count; i++)
112 RemoveApplicant(patentLicenseActivity.Id, users[i]);
113 AddAuthor(patentLicenseActivity, users[i]);
118 var users = patentLicenseActivity.AuthorsPatentLicenseActivities.Select(u => u.Author).ToList();
119 for (var i = 0; i < users.Count; i++)
121 RemoveAuthor(patentLicenseActivity.Id, users[i]);
122 AddApplicant(patentLicenseActivity, users[i]);
126 patentLicenseActivity.Type = model.
Type;
129 patentLicenseActivity.Date = model.
DateTime;
130 _patentLicenseActivityRepository.Update(patentLicenseActivity);
135 _patentLicenseActivityRepository.Delete(
id);
140 return _patentLicenseActivityRepository.Get(
id) != null;
145 if (patentLicenseActivity == null)
155 PatentLicenseActivityId = patentLicenseActivity.
Id 157 _patentLicenseActivityRepository.Update(patentLicenseActivity);
162 var patentLicenseActivity = _patentLicenseActivityRepository.Get(
id);
163 if (patentLicenseActivity == null)
168 patentLicenseActivity.AuthorsPatentLicenseActivities.Remove(patentLicenseActivity.AuthorsPatentLicenseActivities.First(u => u.Author.Id == user.Id));
169 _patentLicenseActivityRepository.Update(patentLicenseActivity);
174 if (patentLicenseActivity == null)
182 ApplicantId = user.Id,
184 PatentLicenseActivityId = patentLicenseActivity.
Id 186 _patentLicenseActivityRepository.Update(patentLicenseActivity);
191 var patentLicenseActivity = _patentLicenseActivityRepository.Get(
id);
192 if (patentLicenseActivity == null)
197 patentLicenseActivity.ApplicantsPatentLicenseActivities.Remove(patentLicenseActivity.ApplicantsPatentLicenseActivities.First(u => u.Applicant.Id == user.Id));
198 _patentLicenseActivityRepository.Update(patentLicenseActivity);
203 var patentLicenseActivity = _patentLicenseActivityRepository.Get(
id);
204 if (patentLicenseActivity == null)
213 PatentLicenseActivityId = patentLicenseActivity.
Id 215 _patentLicenseActivityRepository.Update(patentLicenseActivity);
220 var patentLicenseActivity = _patentLicenseActivityRepository.Get(
id);
221 if (patentLicenseActivity == null)
226 patentLicenseActivity.CoauthorsPatentLicenseActivities.Remove(patentLicenseActivity.CoauthorsPatentLicenseActivities.First(u => u.Coauthor == coauthor));
227 _patentLicenseActivityRepository.Update(patentLicenseActivity);
232 var patentLicenseActivity = _patentLicenseActivityRepository.Get(
id);
233 if (patentLicenseActivity == null)
240 CoApplicant = coApplicant,
242 PatentLicenseActivityId = patentLicenseActivity.
Id 244 _patentLicenseActivityRepository.Update(patentLicenseActivity);
249 var patentLicenseActivity = _patentLicenseActivityRepository.Get(
id);
250 if (patentLicenseActivity == null)
255 patentLicenseActivity.CoApplicantsPatentLicenseActivities.Remove(patentLicenseActivity.CoApplicantsPatentLicenseActivities.First(u => u.CoApplicant == coApplicant));
256 _patentLicenseActivityRepository.Update(patentLicenseActivity);
261 var patentLicenseActivity = _patentLicenseActivityRepository.Get(
id);
262 IEnumerable<UserProfile> authors = null;
263 if (patentLicenseActivity != null)
265 authors = patentLicenseActivity.AuthorsPatentLicenseActivities.Select(u => u.Author);
273 var patentLicenseActivity = _patentLicenseActivityRepository.Get(
id);
274 IEnumerable<UserProfile> applicants = null;
275 if (patentLicenseActivity != null)
277 applicants = patentLicenseActivity.ApplicantsPatentLicenseActivities.Select(u => u.Applicant);
285 var patentLicenseActivity = _patentLicenseActivityRepository.Get(
id);
286 IEnumerable<string> coauthors = null;
287 if (patentLicenseActivity != null)
289 coauthors = patentLicenseActivity.CoauthorsPatentLicenseActivities.Select(u => u.Coauthor);
297 var patentLicenseActivity = _patentLicenseActivityRepository.Get(
id);
298 IEnumerable<string> coApplicants = null;
299 if (patentLicenseActivity != null)
301 coApplicants = patentLicenseActivity.CoApplicantsPatentLicenseActivities.Select(u => u.CoApplicant);
virtual void RemoveApplicant(Guid id, UserProfile user)
virtual void RemoveCoauthor(Guid id, string coauthor)
virtual IEnumerable< UserProfile > GetApplicants(Guid id)
virtual PatentLicenseActivity GetById(Guid id)
virtual IEnumerable< string > GetCoauthors(Guid id)
virtual PatentLicenseActivity Get(Func< PatentLicenseActivity, bool > predicate)
virtual void AddCoauthor(Guid id, string coauthor)
virtual void AddAuthor(PatentLicenseActivity patentLicenseActivity, UserProfile user)
static bool IsHeadOfDepartment(ClaimsPrincipal user)
virtual IEnumerable< PatentLicenseActivity > GetPageByRole(int page, int count, ClaimsPrincipal userClaims)
DAL.Entities.PatentLicenseActivity.Types Type
virtual void AddApplicant(PatentLicenseActivity patentLicenseActivity, UserProfile user)
virtual bool Exists(Guid id)
virtual void UpdateItem(PatentLicenseActivityEditModel model)
virtual IEnumerable< PatentLicenseActivity > GetAllWhere(Func< PatentLicenseActivity, bool > predicate)
virtual void AddCoApplicant(Guid id, string coApplicant)
static bool IsAdmin(ClaimsPrincipal user)
virtual void CreateItem(PatentLicenseActivityModel model)
virtual void DeleteById(Guid id)
PatentLicenseActivityService(ScientificReportDbContext context)
virtual IEnumerable< PatentLicenseActivity > GetAll()
virtual IEnumerable< UserProfile > GetAuthors(Guid id)
virtual ICollection< ApplicantsPatentLicenseActivities > ApplicantsPatentLicenseActivities
virtual IEnumerable< string > GetCoApplicants(Guid id)
virtual ICollection< AuthorsPatentLicenseActivities > AuthorsPatentLicenseActivities
virtual void RemoveAuthor(Guid id, UserProfile user)
virtual int GetCountByRole(ClaimsPrincipal userClaims)
virtual void RemoveCoApplicant(Guid id, string coApplicant)
virtual IEnumerable< PatentLicenseActivity > GetItemsByRole(ClaimsPrincipal userClaims)