Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Member(Guid id)
        {
            var member = Db.Members.SingleOrDefault(m => m.Id == id);

            if (member == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            // Alle Vorlesungen
            // Alle Sprechstunden
            // Alle Newsletter
            // Alle Veranstaltungen

            // =>

            var model = new LecturerCharacteristicModel {
                Lecturer = member
            };

            var semester = SemesterService.GetLatestSemester(member.Organiser);
            var user     = AppUser;

            var courseService = new CourseService(Db);

            model.Courses = courseService.GetCourses(semester.Name, member);

            foreach (var course in model.Courses)
            {
                course.State = ActivityService.GetActivityState(course.Course.Occurrence, user);
            }


            // alle zukünftigen Sprechstunden
            model.OfficeHours = new List <OfficeHourSummaryModel>();
            var officeHours =
                Db.Activities.OfType <OfficeHour>().Where(x =>
                                                          (x.Semester.EndCourses >= DateTime.Today || x.Dates.Any(d => d.End >= DateTime.Today)) &&
                                                          x.Owners.Any(k => k.Member.Id == member.Id)
                                                          ).ToList();


            foreach (var officeHour in officeHours)
            {
                model.OfficeHours.Add(new OfficeHourSummaryModel
                {
                    OfficeHour = officeHour
                });
            }


            model.Semester = semester;

            ViewBag.UserRight = GetUserRight(User.Identity.Name, member.Organiser.ShortName);

            return(View("MemberPublic", model));
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult MemberAdmin(Guid id)
        {
            var member = Db.Members.SingleOrDefault(m => m.Id == id);

            if (member == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            // Alle Vorlesungen
            // Alle Sprechstunden
            // Alle Newsletter
            // Alle Veranstaltungen

            // =>

            var model = new LecturerCharacteristicModel {
                Lecturer = member
            };

            var semester = SemesterService.GetLatestSemester(member.Organiser);
            var user     = AppUser;

            var courseService = new CourseService(Db);

            model.Courses = courseService.GetCourses(semester.Name, member);

            foreach (var course in model.Courses)
            {
                var lectures =
                    Db.Members.Where(l => l.Dates.Any(occ => occ.Activity.Id == course.Course.Id)).ToList();

                course.Lecturers.AddRange(lectures);

                var rooms =
                    Db.Rooms.Where(l => l.Dates.Any(occ => occ.Activity.Id == course.Course.Id)).ToList();
                course.Rooms.AddRange(rooms);

                course.State = ActivityService.GetActivityState(course.Course.Occurrence, user);
            }

            // Sprechstunde im aktuellen Semester
            var ohService = new OfficeHourService(Db);

            model.OfficeHour = ohService.GetLatestOfficeHour(member);

            model.Semester = semester;

            ViewBag.UserRight = GetUserRight(User.Identity.Name, member.Organiser.ShortName);

            return(View("Member", model));
        }
Beispiel #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Calendar(Guid id)
        {
            var member = Db.Members.SingleOrDefault(m => m.Id == id);

            if (member == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var model = new LecturerCharacteristicModel
            {
                Lecturer = member
            };

            ViewBag.UserRight = GetUserRight(User.Identity.Name, member.Organiser.ShortName);

            return(View(model));
        }