/// <summary>
        /// Get session results method
        /// </summary>
        /// <param name="sessionId">Session id</param>
        /// <returns></returns>
        public ICollection <GroupResult> GetSessionResult(int sessionId)
        {
            List <GroupResult> results = new List <GroupResult>();

            foreach (Group group in Groups)
            {
                GroupResult    result   = new GroupResult(group.GroupName);
                List <Student> students = Students.Where(s => s.GroupId == group.Id).ToList();
                foreach (Student student in students)
                {
                    List <WorkResult> workResults = WorkResults.Where(w => w.StudentId == student.Id).ToList();
                    foreach (WorkResult item in workResults)
                    {
                        SessionShedule shedule = SessionShedules.FirstOrDefault(s => s.Id == item.SessionSheduleId && s.SessionId == sessionId);
                        Subject        subject = Subjects.FirstOrDefault(s => s.Id == item.SubjectId);
                        WorkType       type    = WorkTypes.FirstOrDefault(w => w.Id == item.WorkTypeId);
                        if (shedule != null && shedule != null && type != null)
                        {
                            result.StudentResults.Add(new StudentResult(shedule.Date, subject.SubjectName, student.Name, student.Surname, student.MidleName, type.WorkTypeName, item.Result));
                        }
                    }
                }

                results.Add(result);
            }
            return(results);
        }
        public void UpdateTestMethod(SessionShedule ses)
        {
            //arrange
            SessionSheduleCreator stCreator = (SessionSheduleCreator)factory.GetSessionSheduleCreator();
            //act
            bool isUpdated = stCreator.Update(ses);

            //assert
            Assert.IsTrue(isUpdated);
        }
        public void ReadTestMethod()
        {
            //arrange
            SessionShedule expected = new SessionShedule(1, 1, new DateTime(2019, 11, 10), 1);
            //act
            SessionSheduleCreator stCreator = (SessionSheduleCreator)factory.GetSessionSheduleCreator();
            SessionShedule        actual    = stCreator.Read(1);

            //assert
            Assert.AreEqual(expected, actual);
        }