Example #1
0
        public virtual void StartBlock8(Sungero.RecordManagement.Server.ActionItemExecutionNotificationArguments e)
        {
            if (_obj.Supervisor != null)
            {
                e.Block.Subject = Functions.ActionItemExecutionTask.GetActionItemExecutionSubject(_obj, ActionItemExecutionTasks.Resources.WorkFromActionItemIsAccepted);
            }
            else
            {
                var employee = Company.PublicFunctions.Employee.GetShortName(_obj.Assignee, false);
                var begin    = ActionItemExecutionTasks.Resources.WorkFromActionItemIsCompletedFormat(employee);
                e.Block.Subject = Functions.ActionItemExecutionTask.GetActionItemExecutionSubject(_obj, begin);
            }

            if (_obj.Supervisor != null && _obj.Assignee != _obj.Supervisor)
            {
                e.Block.Performers.Add(_obj.Assignee);
            }

            Sungero.CoreEntities.IUser initiator;
            if (_obj.ActionItemType == ActionItemType.Component && _obj.ParentTask != null)
            {
                initiator = _obj.ParentTask.StartedBy ?? _obj.ParentTask.Author;
            }
            else if (_obj.ActionItemType == ActionItemType.Additional)
            {
                initiator = _obj.Author;
            }
            else
            {
                initiator = _obj.StartedBy ?? _obj.Author;
            }

            if (initiator != _obj.Supervisor && !e.Block.Performers.Contains(initiator))
            {
                e.Block.Performers.Add(initiator);
            }

            // Задать состояние поручения.
            _obj.ExecutionState = ExecutionState.Executed;

            Docflow.PublicFunctions.Module.SynchronizeAddendaAndAttachmentsGroup(_obj.AddendaGroup, _obj.DocumentsGroup.OfficialDocuments.FirstOrDefault());
        }
Example #2
0
        public virtual void StartNotice8(Sungero.RecordManagement.IActionItemExecutionNotification notice, Sungero.RecordManagement.Server.ActionItemExecutionNotificationArguments e)
        {
            if (_obj.Supervisor != null)
            {
                notice.Author = _obj.Supervisor;
            }
            else
            {
                notice.Author        = _obj.Assignee;
                notice.ThreadSubject = ActionItemExecutionTasks.Resources.ActionItemExecutionNotificationThreadSubject;
            }
            notice.Importance = _obj.Importance;

            // Обновить статус исполнения документа - исполнен, статус контроля исполнения - снято с контроля.
            Functions.ActionItemExecutionTask.SetDocumentStates(_obj);
        }