public ActionResult Responsibilities()
        {
            var organiser = GetMyOrganisation();

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

            var semester = SemesterService.GetSemester(DateTime.Today);

            var model = new OrganiserViewModel
            {
                Organiser = organiser,
                Semester  = semester
            };

            model.Responsibilities = Db.MemberResponsibilities.Where(x => x.Member.Organiser.Id == organiser.Id).GroupBy(g => g.Tag).ToList();


            // Benutzerrechte
            ViewBag.UserRight = GetUserRight(User.Identity.Name, organiser.ShortName);

            return(View(model));
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            var organiser = GetMyOrganisation();

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

            var semester     = SemesterService.GetSemester(DateTime.Today);
            var nextSemester = SemesterService.GetNextSemester(semester);
            var prevSemester = SemesterService.GetPreviousSemester(semester);

            var model = new OrganiserViewModel
            {
                Organiser        = organiser,
                Semester         = semester,
                NextSemester     = nextSemester,
                PreviousSemester = prevSemester
            };

            // Benutzerrechte
            ViewBag.UserRight = GetUserRight(User.Identity.Name, organiser.ShortName);

            return(View(model));
        }
        public ActionResult Manage()
        {
            var organiser = GetMyOrganisation();

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

            var model = new OrganiserViewModel
            {
                Organiser = organiser,
            };

            var memberPage = organiser.Members.OrderBy(m => m.Name);

            var myUser = UserManager.FindByName(User.Identity.Name);


            var semester       = SemesterService.GetSemester(DateTime.Today);
            var vorSemester    = SemesterService.GetPreviousSemester(semester);
            var vorVorSemester = SemesterService.GetPreviousSemester(vorSemester);

            var courseService = new CourseService(Db);
            var userService   = new UserInfoService();

            foreach (var member in memberPage)
            {
                var itsMe = false;
                if (member.UserId != null && myUser != null)
                {
                    itsMe = member.UserId.Equals(myUser.Id);
                }

                model.Members.Add(new MemberViewModel
                {
                    Member = member,
                    //User = member.UserId != null ? UserManager.FindById(member.UserId) : null,
                    ItsMe    = itsMe,
                    IsActive = courseService.IsActive(member, semester),
                    WasActiveLastSemester = courseService.IsActive(member, vorSemester),
                    WasActiveLastYear     = courseService.IsActive(member, vorVorSemester),
                    User = userService.GetUser(member.UserId)
                });
            }

            // Benutzerrechte
            ViewBag.UserRight    = GetUserRight(User.Identity.Name, organiser.ShortName);
            ViewBag.ThisSemester = semester.Name;
            ViewBag.LastSemester = vorSemester.Name;
            ViewBag.LastYear     = vorVorSemester.Name;


            return(View(model));
        }
Example #4
0
        public ActionResult Organiser(Guid id)
        {
            var org = GetOrganiser(id);

            var model = new OrganiserViewModel
            {
                Organiser = org
            };

            ViewBag.UserRights = GetUserRight(org);

            return(View(model));
        }
        public ActionResult MoveDates()
        {
            var model = new OrganiserViewModel();

            model.Organiser = GetMyOrganisation();

            ViewBag.Organiser = Db.Organisers.OrderBy(x => x.ShortName).Select(c => new SelectListItem
            {
                Text  = c.ShortName,
                Value = c.Id.ToString(),
            });


            return(View(model));
        }
Example #6
0
        public ActionResult Organiser(Guid id)
        {
            var org = GetOrganiser(id);

            var model = new OrganiserViewModel
            {
                Organiser = org
            };

            model.Rooms = Db.Rooms.Where(x => x.Assignments.Any(a => a.Organiser.Id == id)).ToList();

            ViewBag.UserRights = GetUserRight(org);

            return(View(model));
        }
Example #7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Admins(string id)
        {
            var organiser = GetMyOrganisation();

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

            /* sollte nicht mehr erforderlich sein
             * if (User.IsInRole("SysAdmin"))
             * {
             *  organiser = Db.Organisers.SingleOrDefault(x => x.ShortName.Equals(id));
             * }
             */

            var model = new OrganiserViewModel
            {
                Organiser = organiser,
            };

            var memberPage = organiser.Members.OrderBy(m => m.Name);

            var myUser = UserManager.FindByName(User.Identity.Name);


            foreach (var member in memberPage)
            {
                var itsMe = false;
                if (member.UserId != null && myUser != null)
                {
                    itsMe = member.UserId.Equals(myUser.Id);
                }

                model.Members.Add(new MemberViewModel
                {
                    Member = member,
                    ItsMe  = itsMe,
                });
            }

            // Benutzerrechte
            ViewBag.UserRight = GetUserRight(User.Identity.Name, organiser.ShortName);

            return(View("Admins", model));
        }
Example #8
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult List(Guid?id)
        {
            var organiser = GetMyOrganisation();

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

            var userRight = GetUserRight(User.Identity.Name, organiser.ShortName);

            if (!userRight.IsOrgMember)
            {
                return(RedirectToAction("NoMember"));
            }

            var semester = SemesterService.GetSemester(id);

            var model = new OrganiserViewModel
            {
                Organiser = organiser,
                Semester  = semester
            };

            var courses =
                Db.Activities.OfType <Course>().Where(c =>
                                                      c.SemesterGroups.Any(g =>
                                                                           g.Semester.Id == semester.Id &&
                                                                           g.CapacityGroup.CurriculumGroup.Curriculum.Organiser.Id == organiser.Id)
                                                      ).OrderBy(c => c.ShortName).ToList();

            var courseService = new CourseService(Db);

            foreach (var course in courses)
            {
                var summary = courseService.GetCourseSummary(course);
                model.Courses.Add(summary);
            }

            // Benutzerrechte
            ViewBag.UserRight = userRight;

            return(View(model));
        }
Example #9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Semester(Guid?id)
        {
            var semester = SemesterService.GetSemester(id);
            var org      = GetMyOrganisation();

            var model = new OrganiserViewModel
            {
                Semester  = semester,
                Organiser = org,
            };

            model.PreviousSemester = SemesterService.GetPreviousSemester(semester);
            model.NextSemester     = SemesterService.GetNextSemester(semester);



            var lastEnd     = DateTime.Today.AddDays(-90);
            var alLotteries = Db.Lotteries.Where(x =>
                                                 x.LastDrawing >= lastEnd && x.IsAvailable &&
                                                 x.Organiser != null && x.Organiser.Id == org.Id).OrderBy(x => x.FirstDrawing).ToList();

            model.ActiveLotteries.AddRange(alLotteries);

            var courses =
                Db.Activities.OfType <Course>().Where(c =>
                                                      c.SemesterGroups.Any(g =>
                                                                           g.Semester.Id == semester.Id &&
                                                                           g.CapacityGroup.CurriculumGroup.Curriculum.Organiser.Id == org.Id)
                                                      ).OrderBy(c => c.ShortName).ToList();

            var courseService = new CourseService(Db);

            foreach (var course in courses)
            {
                var summary = courseService.GetCourseSummary(course);
                model.Courses.Add(summary);
            }



            ViewBag.UserRight = GetUserRight();

            return(View(model));
        }
Example #10
0
        /// <summary>
        /// Übersicht der Fachschaft
        /// </summary>
        /// <returns></returns>
        public ActionResult Index(Guid?id)
        {
            Init(id);

            var user = GetCurrentUser();

            if (_union == null)
            {
                return(View("NoUnion", _faculty));
            }

            var model = new OrganiserViewModel
            {
                Semester  = SemesterService.GetSemester(DateTime.Today),
                Organiser = _union
            };

            return(View(model));
        }
Example #11
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            var organiser = GetMyOrganisation();

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

            var model = new OrganiserViewModel
            {
                Organiser = organiser,
                Semester  = SemesterService.GetSemester(DateTime.Today)
            };

            ViewBag.UserRight = GetUserRight();

            return(View(model));
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult Today()
        {
            var organiser = GetMyOrganisation();

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

            var semester = SemesterService.GetSemester(DateTime.Today);

            var model = new OrganiserViewModel
            {
                Organiser = organiser,
                Semester  = semester
            };

            var day     = DateTime.Today;
            var nextDay = day.AddDays(1);

            var memberPage = organiser.Members.Where(x => x.Dates.Any(d => d.Begin >= day && d.End < nextDay)).OrderBy(m => m.Name);

            var vorSemester = new SemesterService().GetSemester(semester, 1);


            foreach (var member in memberPage)
            {
                model.Members.Add(new MemberViewModel
                {
                    Member   = member,
                    ItsMe    = false,
                    IsActive = true,
                });
            }

            // Benutzerrechte
            ViewBag.UserRight    = GetUserRight(User.Identity.Name, organiser.ShortName);
            ViewBag.ThisSemester = semester.Name;
            ViewBag.LastSemester = vorSemester.Name;


            return(View(model));
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult List()
        {
            var organiser = GetMyOrganisation();

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

            var semester = SemesterService.GetSemester(DateTime.Today);

            var model = new OrganiserViewModel
            {
                Organiser = organiser,
                Semester  = semester
            };

            var memberPage = organiser.Members.OrderBy(m => m.Name);

            var myUser = UserManager.FindByName(User.Identity.Name);

            var vorSemester = new SemesterService().GetSemester(semester, 1);

            var userService = new UserInfoService();

            foreach (var member in memberPage)
            {
                model.Members.Add(new MemberViewModel
                {
                    Member = member,
                    User   = member.UserId != null ? userService.GetUser(member.UserId) : null,
                });
            }

            // Benutzerrechte
            ViewBag.UserRight    = GetUserRight(User.Identity.Name, organiser.ShortName);
            ViewBag.ThisSemester = semester.Name;
            ViewBag.LastSemester = vorSemester.Name;


            return(View(model));
        }
Example #14
0
        public ActionResult AdminGroups(Guid id)
        {
            var organiser = GetMyOrganisation();

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

            var semester = SemesterService.GetSemester(id);

            var model = new OrganiserViewModel
            {
                Organiser = organiser,
                Semester  = semester
            };

            // hier jetzt das ganze zu Fuss
            var studentService = new StudentService(Db);

            var groups = semester.Groups
                         .Where(g => g.CapacityGroup.CurriculumGroup.Curriculum.Organiser.Id == organiser.Id)
                         .OrderBy(g => g.CapacityGroup.CurriculumGroup.Curriculum.Name)
                         .ThenBy(g => g.CapacityGroup.CurriculumGroup.Name).ThenBy(g => g.CapacityGroup.Name).ToList();

            foreach (var group in groups)
            {
                var groupModel = new SemesterGroupViewModel
                {
                    Group   = group,
                    UserIds = studentService.GetStudents(group)
                };

                model.SemesterGroups.Add(groupModel);
            }

            model.Groups = groups.GroupBy(x => x.CapacityGroup.CurriculumGroup.Curriculum).ToList();

            ViewBag.UserRight = GetUserRight();

            return(View(model));
        }
Example #15
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            var semester = SemesterService.GetSemester(DateTime.Today);
            var org      = GetMyOrganisation();

            var model = new OrganiserViewModel
            {
                Semester  = semester,
                Organiser = org,
            };

            // alle Semester
            model.ActiveSemesters.AddRange(
                Db.Semesters
                .Where(x => x.Groups.Any(g => g.CapacityGroup.CurriculumGroup.Curriculum.Organiser.Id == org.Id))
                .ToList());

            ViewBag.UserRight = GetUserRight();

            return(View(model));
        }
Example #16
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Details(Guid id)
        {
            var organiser = Db.Organisers.SingleOrDefault(org => org.Id == id);

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

            var model = new OrganiserViewModel
            {
                Organiser = organiser,
            };

            var members = organiser.Members.OrderBy(m => m.Name);
            var myUser  = UserManager.FindByName(User.Identity.Name);

            foreach (var member in members)
            {
                var itsMe = false;
                if (member.UserId != null && myUser != null)
                {
                    itsMe = member.UserId.Equals(myUser.Id);
                }

                model.Members.Add(new MemberViewModel
                {
                    Member = member,
                    User   = member.UserId != null ? UserManager.FindById(member.UserId) : null,
                    ItsMe  = itsMe,
                });
            }

            // Benutzerrechte
            ViewBag.UserRight = GetUserRight(User.Identity.Name, organiser.ShortName);

            return(View(model));
        }
Example #17
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Semester(Guid id)
        {
            var semester = SemesterService.GetSemester(id);
            var org      = GetMyOrganisation();

            var model = new OrganiserViewModel
            {
                Semester  = semester,
                Organiser = org,
            };

            var lastEnd     = DateTime.Today.AddDays(-90);
            var alLotteries = Db.Lotteries.Where(x =>
                                                 x.LastDrawing >= lastEnd && x.IsAvailable &&
                                                 x.Organiser != null && x.Organiser.Id == org.Id).OrderBy(x => x.FirstDrawing).ToList();

            model.ActiveLotteries.AddRange(alLotteries);


            ViewBag.UserRight = GetUserRight();

            return(View(model));
        }
Example #18
0
        public ActionResult Analyse()
        {
            var org = GetMyOrganisation();

            var model = new OrganiserViewModel
            {
                Organiser = org,
            };

            var courseService = new CourseService(Db);

            var courses = Db.Activities.OfType <Course>().Where(x => x.Owners.Any(y => y.Member.Organiser.Id == org.Id) &&
                                                                (!x.Dates.Any() || x.Dates.Any(d => d.End >= DateTime.Today))).ToList();

            foreach (var course in courses)
            {
                var summary = courseService.GetCourseSummary(course);
                model.Courses.Add(summary);
            }


            return(View(model));
        }
Example #19
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult Calendar(Guid id)
        {
            var organiser = GetMyOrganisation();

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

            var semester = SemesterService.GetSemester(id);

            var model = new OrganiserViewModel
            {
                Organiser = organiser,
                Semester  = semester
            };


            var groups = semester.Groups
                         .Where(g => g.CapacityGroup.CurriculumGroup.Curriculum.Organiser.Id == organiser.Id)
                         .OrderBy(g => g.CapacityGroup.CurriculumGroup.Curriculum.Name)
                         .ThenBy(g => g.CapacityGroup.CurriculumGroup.Name).ThenBy(g => g.CapacityGroup.Name).ToList();

            foreach (var group in groups)
            {
                var groupModel = new SemesterGroupViewModel
                {
                    Group = group,
                };

                model.SemesterGroups.Add(groupModel);
            }

            ViewBag.UserRight = GetUserRight();

            return(View(model));
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult Active(Guid?id)
        {
            var organiser = GetMyOrganisation();

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

            var semester = SemesterService.GetSemester(id);

            var model = new OrganiserViewModel
            {
                Organiser = organiser,
                Semester  = semester
            };

            var memberPage = organiser.Members.OrderBy(m => m.Name);

            var courseService = new CourseService(Db);

            foreach (var member in memberPage)
            {
                model.Members.Add(new MemberViewModel
                {
                    Member        = member,
                    ActiveCourses = courseService.GetCourses(semester, member)
                });
            }

            // Benutzerrechte
            ViewBag.UserRight    = GetUserRight(User.Identity.Name, organiser.ShortName);
            ViewBag.ThisSemester = semester.Name;

            return(View(model));
        }
Example #21
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult Events()
        {
            var organiser = GetMyOrganisation();

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

            var userRight = GetUserRight(User.Identity.Name, organiser.ShortName);

            if (!userRight.IsOrgMember)
            {
                return(RedirectToAction("NoMember"));
            }


            var model = new OrganiserViewModel
            {
                Organiser = organiser,
            };

            var events = Db.Activities.OfType <Event>().Where(n => n.Organiser.Id == organiser.Id).ToList();


            foreach (var @event in events)
            {
                model.Events.Add(new EventViewModel {
                    Event = @event
                });
            }

            ViewBag.UserRight = userRight;

            return(View(model));
        }