feat: update SetTimeProjectCommandHandler to set status to Incomplete when additional time is added
This commit is contained in:
@@ -365,10 +365,26 @@ public class SetTimeProjectCommandHandler : IBaseCommandHandler<SetTimeProjectCo
|
|||||||
|
|
||||||
section.ClearAdditionalTimes();
|
section.ClearAdditionalTimes();
|
||||||
// افزودن زمانهای اضافی
|
// افزودن زمانهای اضافی
|
||||||
|
bool hasAdditionalTime = false;
|
||||||
foreach (var additionalTime in sectionItem.AdditionalTime)
|
foreach (var additionalTime in sectionItem.AdditionalTime)
|
||||||
{
|
{
|
||||||
var additionalTimeSpan = TimeSpan.FromHours(additionalTime.Hours).Add(TimeSpan.FromMinutes(additionalTime.Minutes));
|
var additionalTimeSpan = TimeSpan.FromHours(additionalTime.Hours).Add(TimeSpan.FromMinutes(additionalTime.Minutes));
|
||||||
section.AddAdditionalTime(additionalTimeSpan, additionalTime.Description, addedByUserId);
|
section.AddAdditionalTime(additionalTimeSpan, additionalTime.Description, addedByUserId);
|
||||||
|
hasAdditionalTime = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// تغییر status به Incomplete فقط اگر زمان اضافی اضافه شده باشد و در وضعیتی غیر از ReadyToStart باشد
|
||||||
|
if (hasAdditionalTime && section.Status != TaskSectionStatus.ReadyToStart)
|
||||||
|
{
|
||||||
|
// اگر سکشن درحال انجام است، باید متوقف شود قبل از تغییر status
|
||||||
|
if (section.Status == TaskSectionStatus.InProgress)
|
||||||
|
{
|
||||||
|
section.StopWork(TaskSectionStatus.Incomplete);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
section.UpdateStatus(TaskSectionStatus.Incomplete);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user