public void UpdatePropertyes() { //MessageBox.Show((DateTime.Now - DateTime.Parse("01.09.2019")).Days.ToString()); try { DB.TaskDataBase.Instance.WorkTasks.Load(); List <WorkTask> tasks = DB.TaskDataBase.Instance.WorkTasks.Where((t) => t.User.ID == CurrentUser.Instance.User.ID || t.Performers.FirstOrDefault(p => p.User.ID == CurrentUser.Instance.User.ID) != null) .Include(t => t.Performers) // Загрузка вложенных данных внутри типа WorkTask, в данном случае списка исполнителей. (По умолчанию virtual не грузятся) .ToList(); ExpiriedCount = tasks.Aggregate(0, (acc, v) => { return(acc + (Utilits.DateTimeToUgrency(v.PeriodOfExecution) == Ugrencys.Expiried && v.State == WorkTaskStates.Work ? 1 : 0)); }); ComingCount = tasks.Aggregate(0, (acc, v) => { return(acc + (Utilits.DateTimeToUgrency(v.PeriodOfExecution) == Ugrencys.Coming && v.State == WorkTaskStates.Work ? 1 : 0)); }); WorkTasks = new ObservableCollection <WorkTask>(tasks.Where(t => t.State == stateFilter)); } catch (Exception ex) { LogManager.Logger.Write("Ошибка загрузки списка задач", ex); } }
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { WorkTaskStates state = (WorkTaskStates)values[1]; if (state != WorkTaskStates.Work) { return(DefaultBrush); } DateTime date = (DateTime)values[0]; Ugrencys u = Utilits.DateTimeToUgrency(date); switch (u) { case Ugrencys.Expiried: return(ExpiriedBrush); case Ugrencys.Coming: return(ComingBrush); } return(NotRushBrush); }