Beispiel #1
0
        public void Filter()
        {
            JournalRecords.Clear();

            using (var repo = new Repository()) {
                var records = repo.GetAllWhere <StudentStatusOnLesson>(s => s.Date >= SelectedDate && s.Date <= SelectedDate.AddDays(6) &&
                                                                       s.Student.Group.GroupName == SelectedGroup.GroupName &&
                                                                       s.ScheduleRecord.Subject.SubjectName == SelectedSubject.SubjectName);


                foreach (var r in records)
                {
                    JournalRecord journalRecord = JournalRecords.FirstOrDefault(j => j.Student.StudentId == r.StudentId);

                    if (journalRecord == null)
                    {
                        journalRecord         = new JournalRecord();
                        journalRecord.Student = r.Student;

                        //Заполнить статусы пустыми занчениями
                        journalRecord.Statuses =
                            new List <StudentStatusOnLesson>
                                (Enumerable.Repeat <StudentStatusOnLesson>(null, 6));
                    }

                    //Добавить статус в нужную ячейку
                    journalRecord.Statuses.Insert(r.ScheduleRecord.DayOfWeek - 1, r);

                    JournalRecords.Add(journalRecord);
                }
            }
        }
Beispiel #2
0
 public void RefreshJournalRecords()
 {
     try
     {
         JournalRecords.Clear();
         List <JournalRecord> list;
         if (OnlySelectedShift)
         {
             list = _journalRepository.GetRecordsByDateAndShift(Shift.Date, Shift.Shift.Value);
         }
         else
         {
             list = _journalRepository.GetRecordsStartFrom(FromTheDate);
         }
         var collection = list.OrderBy(jr => jr, new JournalRecordsBeginTimeComparer()).Select(jr => new JournalRecordViewModel(jr));
         JournalRecords.AddRange(collection);
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
     }
 }