public ActionResult Details(Guid id) { var org = GetMyOrganisation(); var userRight = GetUserRight(org); var thesis = Db.Internships.SingleOrDefault(x => x.Id == id); var user = GetUser(thesis.Student.UserId); var student = thesis.Student; if (user == null) { user = new ApplicationUser { FirstName = "Kein Benutzerkonto" }; } var model = new InternshipStateModel { User = user, Student = student, Internship = thesis }; ViewBag.UserRight = userRight; ViewBag.Organiser = org; return(View(model)); }
public ActionResult Check() { var user = GetCurrentUser(); var student = StudentService.GetCurrentStudent(user); var thesis = Db.Internships.FirstOrDefault(x => x.Student.Id == student.Id); // Eine evtl. vorhandene alte Anfrage löschen if (thesis?.RequestAuthority != null) { thesis.ResponseDate = null; thesis.IsPassed = null; thesis.RequestAuthority = null; Db.SaveChanges(); } var model = new InternshipStateModel { User = user, Student = student, Internship = thesis }; return(View(model)); }
public ActionResult Plan(InternshipStateModel model) { var beginn = DateTime.Parse(model.PlanBeginn); var end = DateTime.Parse(model.PlanEnd); if (beginn < DateTime.Today) { var user = GetCurrentUser(); var student = StudentService.GetCurrentStudent(user); var thesis2 = Db.Internships.FirstOrDefault(x => x.Student.Id == student.Id); var model2 = new InternshipStateModel() { User = user, Student = student, Internship = thesis2, PlanBeginn = DateTime.Today.ToShortDateString(), PlanEnd = DateTime.Today.AddDays(60).ToShortDateString(), }; ModelState.AddModelError("", "Der Beginn muss in der Zukunft liegen"); return(View(model2)); } if (end <= beginn) { var user = GetCurrentUser(); var student = StudentService.GetCurrentStudent(user); var thesis2 = Db.Internships.FirstOrDefault(x => x.Student.Id == student.Id); var model2 = new InternshipStateModel() { User = user, Student = student, Internship = thesis2, PlanBeginn = DateTime.Today.ToShortDateString(), PlanEnd = DateTime.Today.AddDays(60).ToShortDateString(), }; ModelState.AddModelError("", "Das Emde muss nach dem Beginn liegen"); return(View(model2)); } var thesis = Db.Internships.SingleOrDefault(x => x.Id == model.Internship.Id); thesis.PlannedBegin = beginn; thesis.PlannedEnd = end; thesis.LastPlanChange = DateTime.Now; ; Db.SaveChanges(); return(RedirectToAction("Index")); }
/// <summary> /// Anzeige des Annahme / Ablehnungsdialog /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Approval(Guid id) { var userService = new UserInfoService(); var thesis = Db.Internships.SingleOrDefault(x => x.Id == id); var model = new InternshipStateModel() { Internship = thesis, Student = thesis.Student, User = userService.GetUser(thesis.Student.UserId) }; ViewBag.UserRight = GetUserRight(); return(View(model)); }
// GET: Internship public ActionResult Index() { var user = GetCurrentUser(); var student = StudentService.GetCurrentStudent(user); var internship = Db.Internships.FirstOrDefault(x => x.Student.Id == student.Id); var model = new InternshipStateModel { User = user, Student = student, Internship = internship }; return(View(model)); }
public ActionResult Plan() { var user = GetCurrentUser(); var student = StudentService.GetCurrentStudent(user); var thesis = Db.Internships.FirstOrDefault(x => x.Student.Id == student.Id); var model = new InternshipStateModel() { User = user, Student = student, Internship = thesis, PlanBeginn = DateTime.Today.ToShortDateString(), PlanEnd = DateTime.Today.AddDays(60).ToShortDateString() }; return(View(model)); }
public ActionResult Plannend() { var org = GetMyOrganisation(); var userRight = GetUserRight(org); if (!userRight.IsExamAdmin) { return(View("_NoAccess")); } var userService = new UserInfoService(); var theses = Db.Internships.Where(x => x.Student.Curriculum.Organiser.Id == org.Id && // Student zur Fakultät gehörend (x.IsPassed.HasValue && x.IsPassed.Value == true) && // Voraussetzungen erfüllt (x.AcceptedDate == null) // noch nicht angemeldet ).ToList(); var model = new List <InternshipStateModel>(); foreach (var thesis in theses) { var tm = new InternshipStateModel { Internship = thesis, Student = thesis.Student, User = userService.GetUser(thesis.Student.UserId) }; model.Add(tm); } ViewBag.UserRight = userRight; ViewBag.Organiser = org; return(View(model)); }
/// <summary> /// Angekündigt /// Alle Arbeiten, bei das Prüfungsamt noch nicht draufgesehen hat /// oder draufgesehen hat, aber die Voraussetzungen nicht erfüllt sind /// </summary> /// <returns></returns> public ActionResult Announced() { var org = GetMyOrganisation(); var userRight = GetUserRight(org); if (!userRight.IsExamAdmin) { return(View("_NoAccess")); } var userService = new UserInfoService(); var theses = Db.Internships.Where(x => x.Student.Curriculum.Organiser.Id == org.Id && // Student zur Fakultät gehörend (x.RequestAuthority == null) || // PA hat das noch nicht gesehen (x.RequestAuthority != null && x.IsPassed.HasValue && x.IsPassed.Value == false) // Voraussetzungen nicht erfüllt ).ToList(); var model = new List <InternshipStateModel>(); foreach (var thesis in theses) { var tm = new InternshipStateModel { Internship = thesis, Student = thesis.Student, User = userService.GetUser(thesis.Student.UserId) }; model.Add(tm); } ViewBag.UserRight = userRight; ViewBag.Organiser = org; return(View(model)); }