public FinalGradeDto CreateFinalGrade(FinalGradeDto finalGradeDto) { var taking = db.TakingsRepository.Get(t => t.StudentId == finalGradeDto.StudentId && t.Program.ClassRoomId == finalGradeDto.ClassRoomId && t.Program.Teaching.CourseId == finalGradeDto.CourseId && t.Program.Teaching.TeacherId == finalGradeDto.TeacherId).FirstOrDefault(); if (taking == null) { return(null); } // no logging for now FinalGrade createdGrade = new FinalGrade { Assigned = finalGradeDto.AssignmentDate, GradePoint = finalGradeDto.FinalGradePoint, Notes = finalGradeDto.Notes, SchoolTerm = finalGradeDto.Semester, Taking = taking }; db.FinalGradesRepository.Insert(createdGrade); db.Save(); // for now return(Converters.FinalGradesConverter.FinalGradeToFinalGradeDto(createdGrade)); }
public FinalGradeDto GetFinalGradeDtoById(int finalGradeId) { logger.Info("Get final grade dto by Id {@finalGradeId}", finalGradeId); FinalGrade finalGrade = GetFinalGradeById(finalGradeId); return(Converters.FinalGradesConverter.FinalGradeToFinalGradeDto(finalGrade)); }
// Pri prvom zapnuti okna sa vytvori finalne hodnotenie pre kazdeho studenta // Aby bol mozny export finalneho hodnotenia private void CreateFinalGradeOnStart() { try { using (StudentDBDataContext con = new StudentDBDataContext(conn_str)) { var allStudents = con.GetTable <Student>().Where(x => x.ID_stud_skupina == group.Id); var allFinalGrades = con.GetTable <FinalGrade>().Where(x => x.IdSkupina == group.Id); bool isAdded = false; if (allStudents.Count() <= 0 || allStudents == null) { return; } foreach (var student in allStudents) { var exists = allFinalGrades.Where(x => x.IdSkupina == group.Id && x.IdStudent == student.Id); if (exists.Count() > 0) { continue; } FinalGrade finalGrade = new FinalGrade() { IdSkupina = group.Id, IdStudent = student.Id, ActivityLectPoints = 0, ActivitySemPoints = 0, GotPoints = 0, Grade = "Fx", MaxPts = 0, MissedLectures = 0, MissedSeminars = 0, }; con.FinalGrades.InsertOnSubmit(finalGrade); isAdded = true; } if (isAdded) { con.SubmitChanges(); } else { return; } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); Logger newLog = new Logger(); newLog.LogError(ex); } }
public async Task <FinalGradeDto> ConfirmStudentCourseFinalGradeAsync(int studentId, int teacherId, int subjectId) { var student = await _studentsService.GetStudentAsync(studentId).ConfigureAwait(false); if (student == null) { throw new ResourceNotFoundException($"Студент {studentId} не знайдний"); } var gradebook = await _gradebooksService.GetGradebookByGroupAsync(student.Group.Id, subjectId) .ConfigureAwait(false); if (gradebook == null) { throw new ResourceNotFoundException($"Журнал групи {student.Group.Code} по предмету {subjectId} не знайдено"); } if (gradebook.Teachers.All(t => t.Id != teacherId)) { throw new ResourceAccessPermissionException($"Викладач {teacherId} не має доступу до журналу {gradebook.Id}"); } using (var transaction = await _finalGradesUnitOfWork.BeginTransactionAsync(IsolationLevel.RepeatableRead) .ConfigureAwait(false)) { var currentGradeTotal = await GetStudentCourseCurrentGradeTotalAsync(studentId, subjectId).ConfigureAwait(false); if (currentGradeTotal < MinFinalGradeValue) { throw new ResourceOperationException($"Кінцева оцінка не може бути нижча за {MinFinalGradeValue} балів"); } var finalGrade = new FinalGrade { CreatedAt = DateTime.Now, GradebookRefId = gradebook.Id, StudentRefId = studentId, TeacherRefId = teacherId, Value = currentGradeTotal }; _finalGradesUnitOfWork.Repository.Add(finalGrade); await _finalGradesUnitOfWork.SaveChangesAsync().ConfigureAwait(false); transaction.Commit(); return(await GetFinalGradeAsync(finalGrade.Id).ConfigureAwait(false)); } }
public void Enrolment_FinalGrade_GetsAndSets() { // Arrange FinalGrade expected = FinalGrade.C; //Enrolment enrolment = new Enrolment(new Person(), new Section(), 9); Enrolment enrolment = new Enrolment(new Student(), new Section(), 9); // Act enrolment.FinalGrade = FinalGrade.C; // Assert FinalGrade actual = enrolment.FinalGrade; Assert.AreEqual(expected, actual); }
public void AddFinalGradeToOptionalCourses(Guid studentId, Guid courseId) { { var finalGrade = new FinalGrade { CourseId = courseId, StudentId = studentId, Value = 0 }; _repository.Insert(finalGrade); _repository.Save(); } }
public static FinalGradeDto FinalGradeToFinalGradeDto(FinalGrade finalGrade) { return(new FinalGradeDto() { FinalGradeId = finalGrade.Id, FinalGradePoint = finalGrade.GradePoint, SchoolGrade = finalGrade.Taking.Program.ClassRoom.ClassGrade, Semester = finalGrade.SchoolTerm, StudentId = finalGrade.Taking.Student.Id, CourseId = finalGrade.Taking.Program.Teaching.Course.Id, AssignmentDate = finalGrade.Assigned, Notes = finalGrade.Notes, ClassRoomId = finalGrade.Taking.Program.ClassRoomId, TeacherId = finalGrade.Taking.Program.Teaching.TeacherId }); }
public ActionResult SaveFinalGrade() { string jsonString; string grade = Request.QueryString["currentGrade"]; string classID = Request.QueryString["currentClass"]; if (grade == "" || classID == "") { jsonString = JsonConvert.SerializeObject("must enter values to view results", Formatting.Indented); } else { int className = Convert.ToInt32(classID); double gradeValue = Convert.ToDouble(grade); var userID = User.Identity.GetUserId(); var currentUserID = db.BTTUsers.Where(m => m.ASPNetIdentityID.Equals(userID)).FirstOrDefault().ID; var classToSave = db.Classes.Where(m => m.ID == className).FirstOrDefault().Name; FinalGrade finalGrade = new FinalGrade { RecordedDate = DateTime.Now, ClassName = classToSave, Grade = gradeValue, UserID = currentUserID }; if (ModelState.IsValid) { db.FinalGrades.Add(finalGrade); db.SaveChanges(); jsonString = JsonConvert.SerializeObject("Success! ", Formatting.Indented); } else { jsonString = JsonConvert.SerializeObject("Oops! Something went wrong! ", Formatting.Indented); } } return(new ContentResult { Content = jsonString, ContentType = "application/json", ContentEncoding = System.Text.Encoding.UTF8 }); }
public void Enrolments_CalculateFinalGradeInfo_WithMaxPointsOfZero_ResultsInAPLUS() { // Arrange FinalGrade expected = FinalGrade.APLUS; //Enrolment enrolment = new Enrolment(new Person(), new Section(), 1); Enrolment enrolment = new Enrolment(new Student(), new Section(), 1); enrolment.Evaluations[0] = new Evaluation(EvaluationType.TEST, 0, 1) { Points = 49 }; // Act enrolment.CalculateFinalGrade(); // Assert FinalGrade actual = enrolment.FinalGrade; Assert.AreEqual(expected, actual); }
//Finalne hodnotenie private void GradeBtn_Click(object sender, EventArgs e) { try { using (StudentDBDataContext con = new StudentDBDataContext(conn_str)) { // Ak udaje niew su v pozadovanych formatoch tak sa nic nestane if (!Validator()) { return; } FinalGrade grade = con.FinalGrades.Where(x => x.IdSkupina == group.Id && x.IdStudent == (int)StudentGrid.CurrentRow.Cells[0].Value).FirstOrDefault(); float.TryParse(MaxPtsBox.Text, out float maxPoints); float.TryParse(SemPtsBox.Text, out float semPts); float.TryParse(LecPtsBox.Text, out float lecPts); int.TryParse(MissedLecBox.Text, out int missedLec); int.TryParse(MissedSemBox.Text, out int missedSem); float.TryParse(TotalPtsBox.Text, out float totalPts); grade.ActivitySemPoints = semPts; grade.ActivityLectPoints = lecPts; grade.MissedLectures = missedLec; grade.MissedSeminars = missedSem; grade.MaxPts = maxPoints; grade.GotPoints = totalPts; grade.Grade = FinalGradeBox.Text; con.SubmitChanges(); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); Logger newLog = new Logger(); newLog.LogError(ex); } }
// GET: FinalGrades/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } FinalGrade finalGrade = db.FinalGrades.Find(id); if (finalGrade == null) { return(HttpNotFound()); } else { db.FinalGrades.Remove(finalGrade); db.SaveChanges(); return(RedirectToAction("SavedResults", "Calculators")); } }
public void AddFinalGradeToMandatoryCourses(Guid studentId) { var stud = _repository.GetByFilter <Student>(x => x.Id == studentId); var group = _repository.GetByFilter <Group>(x => x.Id == stud.GroupId); var courses = _repository.GetAllByFilter <Course>(x => x.Package == null && x.Year <= group.Year); foreach (var course in courses) { var finalGrade = new FinalGrade { CourseId = course.Id, StudentId = studentId, Value = 0 }; _repository.Insert(finalGrade); _repository.Save(); } }
public void Start() { subGradeGiverList = subGradeObject.GetComponent <SubGradeList>(); //subGradeList.subGrades[day].GetComponent<GradeTextValues>().gradeA; finalGradeGiver = FinalGradeObject.GetComponent <FinalGrade>(); // how to introduce the game screen might go here? feedbackBubble.SetActive(false); feedbackBubbleText = feedbackBubble.GetComponentInChildren <TextMeshPro>(); currentPicture = artLocation.GetComponent <SpriteRenderer>(); traineeText = traineeSpeechbubble.GetComponentInChildren <TextMeshPro>(); professorText = professorSpeechbubble.GetComponentInChildren <TextMeshPro>(); sliderValueText = sliderTextMesh.GetComponent <TextMeshPro>(); Button btn = confirm.GetComponent <Button>(); btn.onClick.AddListener(StartOrSubmitOrNext); buttonText = confirm.GetComponentInChildren <Text>(); // Andrea messing up anim = curtainsObject.GetComponent <Animator>(); animcanvas = canvasObject.GetComponent <Animator>(); darknessText = darknessTextObject.GetComponent <TextMeshProUGUI>(); animcanvas.SetTrigger("IntroRoll"); buttonAudio = btn.GetComponent <AudioSource>(); audioSource = this.GetComponent <AudioSource>(); //audioSourceProf = Get // Andrea messing up end }
public void AddAll() { var students = _repository.GetAll <Student>(); var courses = _repository.GetAllByFilter <Course>(x => x.Package == null); foreach (var student in students) { var optionals = _repository.GetAllByFilter <StudCourse>(x => x.StudId == student.Id); foreach (var optional in optionals) { var finalGrade = new FinalGrade { CourseId = optional.CourseId, StudentId = student.Id, Value = 0 }; _repository.Insert(finalGrade); _repository.Save(); } foreach (var course in courses) { var finalGrade = new FinalGrade { CourseId = course.Id, StudentId = student.Id, Value = 0 }; _repository.Insert(finalGrade); _repository.Save(); } } }
//Validacia poli vo finalnom hodnoteni. private bool Validator() { try { using (StudentDBDataContext con = new StudentDBDataContext(conn_str)) { if (StudentGrid.Rows.Count <= 0) { MessageBox.Show("Nenašiel sa žiaden študent."); return(false); } FinalGrade grade = con.FinalGrades.Where(x => x.IdSkupina == group.Id && x.IdStudent == (int)StudentGrid.CurrentRow.Cells[0].Value).FirstOrDefault(); var notGradedActivity = con.GetTable <Activity>().Where(x => x.IdStudent == (int)StudentGrid.CurrentRow.Cells[0].Value && x.Hodnotene == false); if (notGradedActivity.Count() > 0) { DialogResult result = MessageBox.Show("Niektorá aktivita nebola ohodnotená, chcete napriek tomu pokračovať?", "Upozornenie", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.No) { return(false); } } if (!float.TryParse(MaxPtsBox.Text, out float maxPoints)) { MessageBox.Show("Pole musí obsahovať len čísla a nemôže byť prázdne"); MaxPtsBox.Select(); return(false); } if (!float.TryParse(SemPtsBox.Text, out float semPts)) { MessageBox.Show("Pole musí obsahovať len čísla a nemôže byť prázdne"); SemPtsBox.Select(); return(false); } if (!float.TryParse(LecPtsBox.Text, out float lecPts)) { MessageBox.Show("Pole musí obsahovať len čísla a nemôže byť prázdne"); LecPtsBox.Select(); return(false); } if (!int.TryParse(MissedLecBox.Text, out int missedLec)) { MessageBox.Show("Pole musí obsahovať len čísla a nemôže byť prázdne"); MissedLecBox.Select(); return(false); } if (!int.TryParse(MissedSemBox.Text, out int missedSem)) { MessageBox.Show("Pole musí obsahovať len čísla a nemôže byť prázdne"); SemPtsBox.Select(); return(false); } if (!float.TryParse(TotalPtsBox.Text, out float totalPts)) { MessageBox.Show("Pole musí obsahovať len čísla a nemôže byť prázdne"); TotalPtsBox.Select(); return(false); } if (totalPts > maxPoints) { DialogResult result = MessageBox.Show("Počet získaných bodov je väčší ako maximum, chcete pokračovať ?", "Upozornenie", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result != DialogResult.Yes) { return(false); } } if (!OnlyAllowedValues(FinalGradeBox.Text)) { MessageBox.Show("Povolené hodnoty pre známku sú: A, B, C, D, E, Fx", "Upozornenie", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(false); } } return(true); } catch (Exception ex) { MessageBox.Show(ex.ToString()); Logger newLog = new Logger(); newLog.LogError(ex); return(false); } }
public override string ToString() { return(FinalGrade.ToString()); }