public CheckAbsent(ObservableCollection <Employee> listEmployeeFromMainWindows, ObservableCollection <DayCheckedInfo> daysCheckedFromMainWindows) { InitializeComponent(); daysChecked = daysCheckedFromMainWindows; defaultListEmployees = new ObservableCollection <Employee>(); defaultListEmployees = listEmployeeFromMainWindows; if (daysCheckedFromMainWindows.Count == 0) { DayCheckedInfo infoDataToday = new DayCheckedInfo(); foreach (Employee e in listEmployeeFromMainWindows) { InfoCheckEmployee temp = new InfoCheckEmployee(); temp.Id = e.Id; temp.Name = e.Name; temp.Position = e.Position; infoDataToday.infoEmployees.Add(temp); } daysCheckedFromMainWindows.Add(infoDataToday); infoDataToday.dayChecked = DateTime.Today; employeeList.ItemsSource = daysCheckedFromMainWindows.Last().infoEmployees; } else { for (int i = 0; i < daysCheckedFromMainWindows.Count; i++) { if (daysCheckedFromMainWindows[i].dayChecked == DateTime.Today) { employeeList.ItemsSource = daysCheckedFromMainWindows[i].infoEmployees; } } } checkCalendar.SelectedDate = DateTime.Today; }
private void checkCalendar_SelectedDatesChanged(object sender, SelectionChangedEventArgs e) { bool hasChangedList = false; for (int i = 0; i < daysChecked.Count; i++) { if (daysChecked[i].dayChecked == checkCalendar.SelectedDate) { hasChangedList = true; } } if (!hasChangedList) { DayCheckedInfo infoDataNew = new DayCheckedInfo(); foreach (Employee employeeTempNew in defaultListEmployees) { InfoCheckEmployee temp = new InfoCheckEmployee(); temp.Id = employeeTempNew.Id; temp.Name = employeeTempNew.Name; temp.Position = employeeTempNew.Position; infoDataNew.infoEmployees.Add(temp); } infoDataNew.dayChecked = (DateTime)checkCalendar.SelectedDate; daysChecked.Add(infoDataNew); employeeList.ItemsSource = daysChecked.Last().infoEmployees; } else { for (int i = 0; i < daysChecked.Count; i++) { if (checkCalendar.SelectedDate == daysChecked[i].dayChecked) { employeeList.ItemsSource = daysChecked[i].infoEmployees; } } } }