Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependent tasks recalculation logic is moving to bll #158

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

Kibnet
Copy link
Owner

@Kibnet Kibnet commented Jun 20, 2024

No description provided.

Copy link
Owner Author

@Kibnet Kibnet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

При запуске на моём хранилище задач иногда падает с исключением:
System.InvalidOperationException: "Collection was modified; enumeration operation may not execute."
Так же есть проблема, что задачи которые хранятся на диске не содержат избыточной информации, например родителей и блокираторов, поэтому при загрузке эти связи не восстанавливаются, хотя раньше они высчитывались в рантайме.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Кажется что проект TaskTreeManager добавлен два раза. Этот файл уже есть в Unlimotion.TaskTreeManager

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Кажется что проект TaskTreeManager добавлен два раза. Этот файл уже есть в Unlimotion.TaskTreeManager

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Кажется что проект TaskTreeManager добавлен два раза. Этот файл уже есть в Unlimotion.TaskTreeManager

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Кажется что проект TaskTreeManager добавлен два раза. Этот файл уже есть в Unlimotion.TaskTreeManager

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Название проекта и папки не совпадает

try
{
dbwatcher?.SetEnable(false);
taskRepository?.SetPause(true);
//taskRepository?.SetPause(true);
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Комментировать старый код не нужно, у нас же есть git, всегда можно посмотреть что было и откатить. Поэтому удаляем смело всё что не нужно

@@ -234,7 +236,8 @@ public void Pull()
{
dbwatcher?.SetEnable(true);

taskRepository?.SetPause(false);
//taskRepository?.SetPause(false);
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Комментировать старый код не нужно, у нас же есть git, всегда можно посмотреть что было и откатить. Поэтому удаляем смело всё что не нужно

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Этот файл можно удалить целиком

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сломался код фильтрации по эмодзи

 var emojiRootFilter = _emojiFilters.ToObservableChangeSet()
                .AutoRefreshOnObservable(filter => filter.WhenAnyValue(e => e.ShowTasks))
                .ToCollection()
                .Select(filter =>
                {
                    bool Predicate(TaskItemViewModel task)
                    {
                        if (filter.All(e => e.ShowTasks == false))
                        {
                            return task.Parents.Count == 0;
                        }

Потому что task.Parents у многих задач при загрузке не заполнен, хотя родители есть. Раньше работало.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image Вот доказательства у задачи явно есть родители и блокираторы, даже в роадмапе это видно, а карточке задачи пусто и в фильтрах тоже они как будто пустые

foreach (var task in tasks)
{
var vm = new TaskItemViewModel(task, this);
Tasks.AddOrUpdate(vm);
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Думаю что заполнять мимо TaskTree нельзя, нужен механизм который бы позволил закидывать в него задачи и возвращал бы из него правильно подготовленные задачи при инициализации и при каждом срабатывании изменений для обновления всех затронутых.

@Kibnet Kibnet force-pushed the DependentTasksRecalculationLogicIsMovingToBLL branch from fd98ba6 to 63882fd Compare July 26, 2024 10:59
@Kibnet Kibnet force-pushed the DependentTasksRecalculationLogicIsMovingToBLL branch from 2adb680 to e99347c Compare December 13, 2024 16:18
@Kibnet Kibnet force-pushed the DependentTasksRecalculationLogicIsMovingToBLL branch from b4cf9e2 to 20e8e4f Compare December 24, 2024 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants