Exemplo n.º 1
0
        //Dozenteninfo APIs
        /// <summary>
        /// Abfrage aller Dozenten
        /// </summary>
        /// <returns>Liste aller verfügbaren Dozenten</returns>
        public LecturersResponseExtended GetAllLecture()
        {
            var lecturerService = new LecturerInfoService();

            // Fakultät
            var orgService = new OrganizerService();
            var faculty    = orgService.GetOrganiser("FK 09");


            // Lehrveranstaltungen im aktuellen Semester
            var semesterService = new SemesterService();
            var semester        = semesterService.GetSemester(DateTime.Today);

            // Dozenten, die Lehrveranstaltungen im aktuellen Semester anbieten
            var activeLecturers = orgService.GetLecturers(faculty, semester);

            // Benutzerdaten
            var userService = new UserInfoService();


            // für jeden Dozenten
            var LecturerList = new List <LecturerContractExtended>();

            foreach (var lecturer in activeLecturers)
            {
                var lecModel = new LecturerContractExtended();

                lecModel.MemberId = lecturer.Id;
                lecModel.Title    = lecturer.Role;
                lecModel.Room     = "";

                // Details zum Benutzerkonto
                var user = userService.GetUser(lecturer.UserId);

                if (user != null)
                {
                    lecModel.FirstName = user.FirstName;
                    lecModel.LastName  = user.LastName;
                    lecModel.Email     = user.Email;
                }
                else
                {
                    lecModel.LastName = lecturer.Name;
                }

                // gibt es noch nicht
                lecModel.Functions = new List <string>();

                // Averfügbar Slots
                lecModel.AvailableSlots = lecturerService.GetAvailabeSlots(lecturer, semester);

                LecturerList.Add(lecModel);
            }



            var response = new LecturersResponseExtended()
            {
                Lecturers = LecturerList
            };

            return(response);
        }