/// <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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        /// <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());
        }