Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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"));
        }
Esempio n. 4
0
        /// <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));
        }
Esempio n. 5
0
        // 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));
        }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        /// <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));
        }