3 using Microsoft.AspNetCore.Authorization;
4 using Microsoft.AspNetCore.Mvc;
5 using Microsoft.EntityFrameworkCore;
6 using Rotativa.AspNetCore;
54 _teacherReportService = teacherReportService;
55 _userProfileService = userProfileService;
56 _publicationService = publicationService;
57 _articleService = articleService;
58 _scientificWorkService = scientificWorkService;
59 _reportThesisService = reportThesisService;
60 _membershipService = membershipService;
61 _grantService = grantService;
62 _oppositionService = oppositionService;
63 _patentService = patentService;
64 _postgraduateDissertationGuidanceService = postgraduateDissertationGuidanceService;
65 _postgraduateGuidanceService = postgraduateGuidanceService;
66 _reviewService = reviewService;
67 _scientificConsultationService = scientificConsultationService;
68 _scientificInternshipService = scientificInternshipService;
69 _departmentService = departmentService;
75 return View(_teacherReportService.GetAll());
86 var report = _teacherReportService.GetById(
id.Value);
96 public IActionResult
Print(Guid?
id)
104 var report = _teacherReportService.GetById(
id.Value);
106 var
filename = $
"{report.Teacher.UserName}-{report.Created}_report.pdf";
111 var department = _departmentService.Get(
112 d => d.Staff.Contains(_userProfileService.Get(User))
114 ViewData[
"department"] = department != null ? department.Title :
"undefined";
116 return new ViewAsPdf(report, ViewData)
127 UserId = _userProfileService.Get(u => u.UserName == HttpContext.User.Identity.Name).Id,
128 Users = _userProfileService.GetAll()
131 return View(viewModel);
136 [ValidateAntiForgeryToken]
139 if (!ModelState.IsValid)
143 UserId = _userProfileService.Get(u => u.UserName == HttpContext.User.Identity.Name).Id,
144 Users = _userProfileService.GetAll()
147 ModelState.AddModelError(
"key",
"Failed to create");
148 return View(viewModel);
153 Teacher = _userProfileService.GetById(userId)
156 _teacherReportService.CreateItem(report);
157 return RedirectToAction(nameof(Index));
162 public IActionResult
Edit(Guid?
id)
169 var report = _teacherReportService.GetById(
id.Value);
175 var user = _userProfileService.Get(u => u.UserName == HttpContext.User.Identity.Name);
180 Users = _userProfileService.GetAll(),
181 Publications = _publicationService.GetAll()
182 .OrderByDescending(p => report.TeacherReportsPublications.Any(tp => tp.Publication.Id == p.Id))
183 .ThenByDescending(p => p.UserProfilesPublications.Any(u => u.UserProfile.Id == user.Id))
184 .ThenBy(p => p.Title),
185 Articles = _articleService.GetAll(),
186 ScientificWorks = _scientificWorkService.GetAll(),
187 ReportTheses = _reportThesisService.GetAll(),
188 Grants = _grantService.GetAll(),
189 ScientificInternships = _scientificInternshipService.GetAll(),
190 PostgraduateGuidances = _postgraduateGuidanceService.GetAll(),
191 ScientificConsultations = _scientificConsultationService.GetAll(),
192 PostgraduateDissertationGuidances = _postgraduateDissertationGuidanceService.GetAll(),
193 Reviews = _reviewService.GetAll(),
194 Oppositions = _oppositionService.GetAll(),
195 Patents = _patentService.GetAll(),
196 Memberships = _membershipService.GetAll()
203 [ValidateAntiForgeryToken]
211 if (!ModelState.IsValid)
214 data.
Users = _userProfileService.GetAll();
225 catch (DbUpdateConcurrencyException)
233 return RedirectToAction(nameof(Index));
244 var report = _teacherReportService.GetById(
id.Value);
254 [HttpPost, ActionName(
"Delete")]
255 [ValidateAntiForgeryToken]
258 _teacherReportService.DeleteById(
id);
259 return RedirectToAction(nameof(Index));
267 _teacherReportService.AddPublication(
id, request.EntityId);
276 _teacherReportService.RemovePublication(
id, request.EntityId);
283 _teacherReportService.AddArticle(
id, request.EntityId);
290 _teacherReportService.RemoveArticle(
id, request.EntityId);
297 _teacherReportService.AddScientificWork(
id, request.EntityId);
304 _teacherReportService.RemoveScientificWork(
id, request.EntityId);
311 _teacherReportService.AddReportThesis(
id, request.EntityId);
318 _teacherReportService.RemoveReportThesis(
id, request.EntityId);
325 _teacherReportService.AddGrant(
id, request.EntityId);
332 _teacherReportService.RemoveGrant(
id, request.EntityId);
338 _teacherReportService.AddScientificInternship(
id, request.EntityId);
345 _teacherReportService.RemoveScientificInternship(
id, request.EntityId);
351 _teacherReportService.AddPostgraduateGuidance(
id, request.EntityId);
358 _teacherReportService.RemovePostgraduateGuidance(
id, request.EntityId);
364 _teacherReportService.AddScientificConsultation(
id, request.EntityId);
371 _teacherReportService.RemoveScientificConsultation(
id, request.EntityId);
377 _teacherReportService.AddPostgraduateDissertationGuidance(
id, request.EntityId);
384 _teacherReportService.RemovePostgraduateDissertationGuidance(
id, request.EntityId);
390 _teacherReportService.AddReview(
id, request.EntityId);
397 _teacherReportService.RemoveReview(
id, request.EntityId);
403 _teacherReportService.AddOpposition(
id, request.EntityId);
410 _teacherReportService.RemoveOpposition(
id, request.EntityId);
416 _teacherReportService.AddPatent(
id, request.EntityId);
423 _teacherReportService.RemovePatent(
id, request.EntityId);
430 _teacherReportService.AddMembership(
id, request.EntityId);
437 _teacherReportService.RemoveMembership(
id, request.EntityId);
IActionResult DeleteOpposition(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult Edit(Guid?id)
IEnumerable< DAL.Entities.UserProfile.UserProfile > Users
IActionResult DeleteScientificConsultation(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult DeleteScientificInternship(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult AddOpposition(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult DeletePatent(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult DeleteConfirmed(Guid id)
IActionResult Create(Guid userId)
IActionResult AddPostgraduateDissertationGuidance(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
TeacherReportController(ITeacherReportService teacherReportService, IUserProfileService userProfileService, IArticleService articleService, IScientificWorkService scientificWorkService, IReportThesisService reportThesisService, IMembershipService membershipService, IGrantService grantService, IOppositionService oppositionService, IPatentLicenseActivityService patentService, IPostgraduateDissertationGuidanceService postgraduateDissertationGuidanceService, IPostgraduateGuidanceService postgraduateGuidanceService, IReviewService reviewService, IScientificConsultationService scientificConsultationService, IScientificInternshipService scientificInternshipService, IPublicationService publicationService, IDepartmentService departmentService)
IActionResult AddReportThesis(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult DeleteArticle(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult AddPublication(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult AddMembership(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult AddGrant(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult AddPostgraduateGuidance(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult Delete(Guid?id)
IActionResult DeleteGrant(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult DeletePostgraduateDissertationGuidance(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult AddReview(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
DAL.Entities.Reports.TeacherReport TeacherReport
IActionResult AddPatent(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult Details(Guid?id)
IActionResult Edit(Guid id, TeacherReportEditViewModel data)
IActionResult AddScientificWork(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
UserProfile.UserProfile Teacher
IActionResult DeleteReview(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult AddArticle(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult DeletePostgraduateGuidance(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult DeleteScientificWork(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult AddScientificConsultation(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult DeleteReportThesis(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult DeletePublication(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IEnumerable< DAL.Entities.Publications.Publication > Publications
IActionResult Print(Guid?id)
IActionResult AddScientificInternship(Guid id, [FromBody] TeacherReportToggleEntityRequest request)
IActionResult DeleteMembership(Guid id, [FromBody] TeacherReportToggleEntityRequest request)