2 using Microsoft.AspNetCore.Authorization;
3 using Microsoft.AspNetCore.Mvc;
25 _postgraduateDissertationGuidanceService = postgraduateDissertationGuidanceService;
26 _userProfileService = userProfileService;
27 _departmentService = departmentService;
34 model.
Count = _postgraduateDissertationGuidanceService.GetCountByRole(User);
46 var postgraduateDissertationGuidance = _postgraduateDissertationGuidanceService.GetById(
id.Value);
47 if (postgraduateDissertationGuidance == null)
52 if (!UserHasPermission(postgraduateDissertationGuidance))
57 return View(postgraduateDissertationGuidance);
61 public IActionResult Create() => View();
65 [ValidateAntiForgeryToken]
68 if (!ModelState.IsValid)
73 model.
Guide = _userProfileService.Get(User);
74 _postgraduateDissertationGuidanceService.CreateItem(model);
76 return RedirectToAction(nameof(Index));
80 public IActionResult
Edit(Guid?
id)
87 var postgraduateDissertationGuidance = _postgraduateDissertationGuidanceService.GetById(
id.Value);
88 if (postgraduateDissertationGuidance == null)
93 if (!UserHasPermission(postgraduateDissertationGuidance))
103 [ValidateAntiForgeryToken]
106 if (
id != model.
Id || !_postgraduateDissertationGuidanceService.Exists(
id))
111 if (!UserHasPermission(_postgraduateDissertationGuidanceService.GetById(
id)))
116 if (!ModelState.IsValid)
121 _postgraduateDissertationGuidanceService.UpdateItem(model);
122 return RedirectToAction(nameof(Index));
133 var postgraduateDissertationGuidance = _postgraduateDissertationGuidanceService.GetById(
id.Value);
134 if (postgraduateDissertationGuidance == null)
139 if (!UserHasPermission(postgraduateDissertationGuidance))
144 return View(postgraduateDissertationGuidance);
148 [HttpPost, ActionName(
"Delete")]
149 [ValidateAntiForgeryToken]
152 if (!_postgraduateDissertationGuidanceService.Exists(
id))
157 if (!UserHasPermission(_postgraduateDissertationGuidanceService.GetById(
id)))
162 _postgraduateDissertationGuidanceService.DeleteById(
id);
163 return RedirectToAction(nameof(Index));
168 var user = _userProfileService.Get(User);
169 var department = _departmentService.Get(d => d.Staff.Contains(user));
170 return PageHelpers.IsAdmin(User) ||
171 PageHelpers.IsHeadOfDepartment(User) &&
172 department.Staff.Contains(guidance.
Guide) ||
173 guidance.
Guide.Id == user.Id;
IActionResult Edit(Guid id, PostgraduateDissertationGuidanceEditModel model)
IActionResult DeleteConfirmed(Guid id)
IActionResult Create(PostgraduateDissertationGuidanceModel model)
DAL.Entities.UserProfile.UserProfile Guide
IActionResult Index(PostgraduateDissertationGuidanceIndexModel model)
virtual UserProfile.UserProfile Guide
IActionResult Edit(Guid?id)
IActionResult Delete(Guid?id)
IEnumerable< DAL.Entities.PostgraduateDissertationGuidance > PostgraduateDissertationGuidances
PostgraduateDissertationGuidanceController(IPostgraduateDissertationGuidanceService postgraduateDissertationGuidanceService, IUserProfileService userProfileService, IDepartmentService departmentService)
IActionResult Details(Guid?id)