Example #1
0
        public TaskItem(Task task) : this()
        {
            InitializeComponent();
            _taskController = new TaskController();
            _task           = task;
            _priority       = new PriorityController().GetPriority(_task.PriorityId);
            _category       = new CategoryController().GetCategoryById(_task.CategoryId);


            TaskName.Text = _task.Name;

            StartDate.Content = (_task.StartDate == DateTime.Parse("1980-01-01 00:00:00")) ? "-"
                : _task.StartDate.ToString("g");
            EndDate.Content = (_task.EndDate == DateTime.Parse("2099-01-01 00:00:00")) ? "Бессрочная"
                : _task.EndDate.ToString("g");

            if (_task.IsFinished)
            {
                TaskGrid.Opacity          = 0.6;
                TaskGrid.Background       = new SolidColorBrush(ColorExtensions.GetColorFromString("#3015C651"));
                TaskName.TextDecorations  = TextDecorations.Strikethrough;
                FinishTaskBtn.Content     = "Завершена";
                FinishTaskBtn.Background  = new SolidColorBrush(ColorExtensions.GetColorFromString("#FF000000"));
                FinishTaskBtn.BorderBrush = new SolidColorBrush(ColorExtensions.GetColorFromString("#FF000000"));
                FinishTaskBtn.IsEnabled   = false;
            }

            if (_task.IsOverdue)
            {
                TaskGrid.Background      = new SolidColorBrush(ColorExtensions.GetColorFromString("#55FF6B6B"));
                TaskGrid.Background      = new SolidColorBrush(ColorExtensions.GetColorFromString("#55FF6B6B"));
                EndDate.Content          = "Просрочена";
                BorderEndDate.Background = new SolidColorBrush(ColorExtensions.GetColorFromString("#FFFF6B6B"));
            }

            PriorityBackground.Background = new SolidColorBrush(ColorExtensions.GetColorFromString(_priority.Color));

            CategoryBackground.Background = new SolidColorBrush(ColorExtensions.GetColorFromString(_category.Color));

            Priority.Content = _priority.Name;
            Category.Text    = _category.Name;
        }