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 })); } }
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)); } } }
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); }