3 using Microsoft.AspNetCore.Authorization;
4 using Microsoft.AspNetCore.Mvc;
26 _patentLicenseActivityService = patentLicenseActivityService;
27 _departmentService = departmentService;
28 _userProfileService = userProfileService;
35 model.
Count = _patentLicenseActivityService.GetCountByRole(User);
47 var patentLicenseActivity = _patentLicenseActivityService.GetById(
id.Value);
48 if (patentLicenseActivity == null)
53 if (!UserHasPermission(patentLicenseActivity))
58 return View(patentLicenseActivity);
62 public IActionResult Create() => View();
66 [ValidateAntiForgeryToken]
69 if (!ModelState.IsValid)
74 _patentLicenseActivityService.CreateItem(model);
75 var patentLicenseActivity = _patentLicenseActivityService.Get(pla => pla.Name == model.
Name);
76 var user = _userProfileService.Get(User);
79 _patentLicenseActivityService.AddAuthor(patentLicenseActivity, user);
83 _patentLicenseActivityService.AddApplicant(patentLicenseActivity, user);
86 return RedirectToAction(nameof(Index));
90 public IActionResult
Edit(Guid?
id)
97 var patentLicenseActivity = _patentLicenseActivityService.GetById(
id.Value);
98 if (patentLicenseActivity == null)
103 if (!UserHasPermission(patentLicenseActivity))
110 Users = _userProfileService.GetAll(),
112 ? _patentLicenseActivityService.GetAuthors(patentLicenseActivity.Id)
113 : _patentLicenseActivityService.GetApplicants(patentLicenseActivity.Id)
119 [ValidateAntiForgeryToken]
122 if (
id != model.
Id || !_patentLicenseActivityService.Exists(
id))
127 var patentLicenseActivity = _patentLicenseActivityService.GetById(
id);
128 if (!UserHasPermission(patentLicenseActivity))
133 if (!ModelState.IsValid)
135 model.
Users = _userProfileService.GetAll();
137 ? _patentLicenseActivityService.GetAuthors(patentLicenseActivity.Id)
138 : _patentLicenseActivityService.GetApplicants(patentLicenseActivity.Id);
142 _patentLicenseActivityService.UpdateItem(model);
143 return RedirectToAction(nameof(Index));
154 var patentLicenseActivity = _patentLicenseActivityService.GetById(
id.Value);
155 if (patentLicenseActivity == null)
160 if (!UserHasPermission(patentLicenseActivity))
165 return View(patentLicenseActivity);
169 [HttpPost, ActionName(
"Delete")]
170 [ValidateAntiForgeryToken]
173 if (!_patentLicenseActivityService.Exists(
id))
178 if (!UserHasPermission(_patentLicenseActivityService.GetById(
id)))
183 _patentLicenseActivityService.DeleteById(
id);
184 return RedirectToAction(nameof(Index));
197 var user = _userProfileService.GetById(request.UserId);
203 var patentLicenseActivity = _patentLicenseActivityService.GetById(
id.Value);
204 if (patentLicenseActivity == null)
209 if (!UserHasPermission(patentLicenseActivity))
216 if (!_patentLicenseActivityService.GetAuthors(patentLicenseActivity.Id).Contains(user))
218 _patentLicenseActivityService.AddAuthor(patentLicenseActivity, user);
223 if (!_patentLicenseActivityService.GetApplicants(patentLicenseActivity.Id).Contains(user))
225 _patentLicenseActivityService.AddApplicant(patentLicenseActivity, user);
242 var user = _userProfileService.GetById(request.UserId);
248 var patentLicenseActivity = _patentLicenseActivityService.GetById(
id.Value);
249 if (patentLicenseActivity == null)
254 if (!UserHasPermission(patentLicenseActivity))
261 if (_patentLicenseActivityService.GetAuthors(patentLicenseActivity.Id).Contains(user))
263 _patentLicenseActivityService.RemoveAuthor(patentLicenseActivity.Id, user);
268 if (_patentLicenseActivityService.GetApplicants(patentLicenseActivity.Id).Contains(user))
270 _patentLicenseActivityService.RemoveApplicant(patentLicenseActivity.Id, user);
279 var user = _userProfileService.Get(User);
280 var department = _departmentService.Get(d => d.Staff.Contains(user));
281 return PageHelpers.IsAdmin(User) ||
282 PageHelpers.IsHeadOfDepartment(User) &&
IEnumerable< DAL.Entities.PatentLicenseActivity > PatentLicenseActivities
IEnumerable< DAL.Entities.UserProfile.UserProfile > Users
IActionResult Delete(Guid?id)
IActionResult DeleteConfirmed(Guid id)
IActionResult Edit(Guid id, PatentLicenseActivityEditModel model)
DAL.Entities.PatentLicenseActivity.Types Type
IActionResult RemoveUser(Guid?id, [FromBody] PatentLicenseActivityUpdUserRequest request)
IActionResult Edit(Guid?id)
IActionResult Index(PatentLicenseActivityIndexModel model)
IEnumerable< DAL.Entities.UserProfile.UserProfile > AuthorsOrApplicants
PatentLicenseActivityController(IPatentLicenseActivityService patentLicenseActivityService, IDepartmentService departmentService, IUserProfileService userProfileService)
IActionResult Create(PatentLicenseActivityModel model)
virtual ICollection< ApplicantsPatentLicenseActivities > ApplicantsPatentLicenseActivities
IActionResult Details(Guid?id)
virtual ICollection< AuthorsPatentLicenseActivities > AuthorsPatentLicenseActivities
const string HeadOfDepartmentOrAdmin
IActionResult AddUser(Guid?id, [FromBody] PatentLicenseActivityUpdUserRequest request)