예제 #1
0
        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);
        }
예제 #2
0
        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);
        }