예제 #1
0
        public ActionResult SaveTeacherClassRoom(Classroom classRoom, int?teacherId)
        {
            if (teacherId == null)
            {
                return(Json(new { message = "Не се пратени податоци за професор!", success = false, status = false }));
            }

            var user = UserService.GetUser((int)teacherId);

            if (user == null)
            {
                return(Json(new { message = "Нема професор со даден ID!", success = false, status = false }));
            }

            if (classRoom == null)
            {
                return(Json(new { message = "Не се пратени податоци за училница!", success = false, status = false }));
            }

            classRoom.LastEdit = DateTime.Now;
            var classRoomXml = ClassroomSerializer.SerializeClassroomToXml(classRoom);

            if (String.IsNullOrWhiteSpace(classRoomXml))
            {
                return(Json(new { message = "Не може да се прочитаат податоците за училница!", success = false, status = false }));
            }

            user.TeacherClassroomDefinition = classRoomXml;

            var success = UserService.GeneralUpdateUser(user);

            if (success)
            {
                return(Json(new { message = "Успешно зачувана училница!", success = true, status = true }));
            }
            else
            {
                return(Json(new { message = "Не може да се зачуваат податоците за нова училница!", success = false }));
            }
        }
예제 #2
0
        public ActionResult GetClassroom(int teacherId)
        {
            var user = UserService.GetUser(teacherId);

            if (String.IsNullOrWhiteSpace(user.TeacherClassroomDefinition))
            {
                return(Json(new Classroom(true)));
            }

            else
            {
                var classRoom = ClassroomSerializer.DesirializeFromXml(user.TeacherClassroomDefinition);

                if (classRoom == null)
                {
                    return(Json(new Classroom()));
                }
                else
                {
                    return(Json(classRoom));
                }
            }
        }
예제 #3
0
        private StudentProfileViewModel GetStudentProfileViewModel(User student)
        {
            var studentViewModel = new StudentProfileViewModel();

            // Get all the available teachers.
            var allTeachers = UserService.GetUsersByRole(RoleNames.TEACHER);

            studentViewModel.AvailableTeachers = allTeachers;

            var studentName = User.Identity.Name;

            // Get Global Student Rank
            studentViewModel.GlobalRank = UserService.CalculateStudentRank(studentName);

            // Get Student total points
            studentViewModel.TotalStudentPoints = UserService.CalculateStudentTotalPoints(studentName);

            // Get student total quiz points
            studentViewModel.TotalQuizPoints = UserService.CalculateStudentTotalQuizPoints(studentName);

            studentViewModel.NumberOfLocationsDetailsOpened = student.OpenedLocationDetails ?? 0;
            studentViewModel.NumberOfResourcesOpened        = student.OpenedResources ?? 0;

            var totalStudents = UserService.GetUsersByRole(RoleNames.STUDENT).Count;

            studentViewModel.StudentsAfterYou  = totalStudents - studentViewModel.GlobalRank;
            studentViewModel.StudentsBeforeYou = totalStudents - (studentViewModel.GlobalRank + 1);

            studentViewModel.RankName  = student.Rank.RankName;
            studentViewModel.RankImage = student.Rank.RankImage;
            studentViewModel.RankOrder = student.Rank.RankOrder;

            if (student.Rank.ParentRank == null)
            {
                studentViewModel.NextPointBorder = -1;
            }
            else
            {
                studentViewModel.NextPointBorder = student.Rank.ParentRank.RequiredPoints;
            }

            studentViewModel.ProgressPercent = UserService.CalculateStudentPercentProgress(studentName);

            if (student.Teacher != null)
            {
                studentViewModel.HasTeacher = true;
                var classRoomXml = student.Teacher.TeacherClassroomDefinition;

                if (!string.IsNullOrWhiteSpace(classRoomXml))
                {
                    var classroom = ClassroomSerializer.DesirializeFromXml(classRoomXml);

                    if (classroom != null)
                    {
                        studentViewModel.Classroom = classroom;
                    }
                }
            }
            else
            {
                studentViewModel.HasTeacher = false;
                studentViewModel.Classroom  = null;
            }
            return(studentViewModel);
        }