public override void BeforeStart(Sungero.Workflow.Server.BeforeStartEventArgs e) { Docflow.PublicFunctions.Module.ValidateTaskAuthor(_obj, e); var assignmentsDeadLine = 1; _obj.MaxDeadline = Calendar.Now.AddWorkingDays(assignmentsDeadLine); // Проверить заполненность причины продления срока. if (string.IsNullOrWhiteSpace(_obj.ActiveText)) { e.AddError(DeadlineExtensionTasks.Resources.SpecifyReason); } // Проверить корректность срока. if (!Docflow.PublicFunctions.Module.CheckDeadline(_obj.NewDeadline, Calendar.Now)) { e.AddError(_obj.Info.Properties.NewDeadline, RecordManagement.Resources.ImpossibleSpecifyDeadlineLessThanToday); } // Новый срок поручения должен быть больше старого. if (e.IsValid && !Docflow.PublicFunctions.Module.CheckDeadline(_obj.NewDeadline, _obj.CurrentDeadline)) { e.AddError(_obj.Info.Properties.NewDeadline, DeadlineExtensionTasks.Resources.DesiredDeadlineIsNotCorrect); } // Заполнить первоначальную причину и причину. _obj.PrimaryReason = _obj.ActiveText; _obj.Reason = _obj.ActiveText; // Выдать права на изменение для возможности прекращения задачи. Functions.ActionItemExecutionTask.GrantAccessRightToTask(_obj, _obj); }
public override void BeforeStart(Sungero.Workflow.Server.BeforeStartEventArgs e) { Docflow.PublicFunctions.Module.ValidateTaskAuthor(_obj, e); // Проверить корректность срока. if (!Docflow.PublicFunctions.Module.CheckDeadline(_obj.Assignee, _obj.MaxDeadline, Calendar.Now)) { e.AddError(_obj.Info.Properties.MaxDeadline, RecordManagement.Resources.ImpossibleSpecifyDeadlineLessThanToday); } // Выдать права на изменение для возможности прекращения задачи. Functions.ActionItemExecutionTask.GrantAccessRightToTask(_obj, _obj); }