/// <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);
        }
Beispiel #2
0
 void FindWorkTypesCompleted(object sender, FindWorkTypesCompletedEventArgs e)
 {
     if (e.Error == null)
     {
         WorkTypes        = e.Result;
         SelectedWorkType = WorkTypes.FirstOrDefault(c => c.ID == Work.WorkTypeID);
     }
     else
     {
         ErrorProvider.ShowError(e.Error, Navigator);
     }
     dataClient.FindWorkTypesCompleted -= FindWorkTypesCompleted;
     if (busyCount == 0)
     {
         Busy = false;
     }
     else
     {
         busyCount--;
     }
 }