/// <summary> /// Get list of average marks method /// </summary> /// <returns></returns> public IEnumerable <AverageMarkByExaminer> GetAverageMark(int sesId) { Session currentSession = Sessions.FirstOrDefault(s => s.Id == sesId); List <SessionShedule> shedules = SessionShedules.Where(s => s.SessionId == currentSession.Id).ToList(); List <AverageMarkByExaminer> results = new List <AverageMarkByExaminer>(); AverageMarkByExaminer.SetSessionName($"Session({currentSession.AcademicYears})"); foreach (SessionShedule item in shedules) { Group group = Groups.FirstOrDefault(g => g.Id == item.GroupId); List <WorkResult> groupResults = new List <WorkResult>(); List <Student> students = Students.Where(s => s.GroupId == group.Id).ToList(); foreach (Student stud in students) { List <WorkResult> workResults = WorkResults.Where(w => w.StudentId == stud.Id).ToList(); foreach (WorkResult res in workResults) { if (res.WorkTypeId == 1) { groupResults.Add(res); } } } if (groupResults.Count != 0) { AverageMarkByExaminer average = new AverageMarkByExaminer(); average.AverageMark = Math.Round(groupResults.Average(i => Convert.ToInt32(i.Result)), 2); average.ExaminerName = Examiners.FirstOrDefault(s => s.Id == item.ExaminerId).Name; results.Add(average); groupResults.Clear(); } } return(results); }
public void ReadAllAndAddAndDelete_ThenOutIsActualNameOfExaminersTable(int id, string actualName, string surname, string patronymic) { //Arrage Examiners actual = new Examiners() { Id = id, Name = actualName, Surname = surname, Patronymic = patronymic }; //Act examiners = new ADOLinqToSQL <Examiners>(connectionString); examiners.CreateElement(actual); var lastAddedName = examiners.ReadAllElementFromDatabase().ToList().Last().Name; var lastAddedId = examiners.ReadAllElementFromDatabase().ToList().Last().Id; examiners.DeleteElement(lastAddedId); //Assert Assert.AreEqual(lastAddedName, actualName); }
public void GivenUpdate_WhenAdded_ThenOutUpdateName_ThisExaminersTable(string name, string surname, string patronymic, string actualUpdateName) { //Arrage Examiners actual = new Examiners() { Name = name, Surname = surname, Patronymic = patronymic }; //Act examiners = new ADOLinqToSQL <Examiners>(connectionString); examiners.CreateElement(actual); var lastAddedId = examiners.ReadAllElementFromDatabase().ToList().Last().Id; examiners.UpdateDatabase(new Examiners() { Id = lastAddedId, Name = actualUpdateName, Surname = surname, Patronymic = patronymic }); var expectedUpdetedName = examiners.ReadElementFromDatabase(lastAddedId); examiners.DeleteElement(lastAddedId); //clear last addded element //Assert Assert.AreEqual(expectedUpdetedName.Name, actualUpdateName); }
/// <summary> /// Get the examiner full name. /// </summary> /// <param name="examinerID">Examiner ID</param> /// <returns>examiner full name</returns> string GetExaminerName(int examinerID) { var name = Examiners.Where(s => s.Id == examinerID).Select(s => $"{s.Surname} {s.Name} {s.MiddleName}"); return(name.Last()); }