Exemplo n.º 1
0
        public virtual void StartBlock13(Sungero.RecordManagement.Server.ReviewObserversNotificationArguments e)
        {
            var addressee = Employees.As(_obj.Addressee);
            var assistant = Docflow.PublicFunctions.Module.GetSecretary(addressee);

            // Добавить помощника в качестве исполнителя, если он не делопроизводитель.
            if (!Equals(assistant, _obj.Author))
            {
                e.Block.Performers.Add(assistant);
            }

            // Получить вложенный для рассмотрения документ.
            var document = _obj.DocumentForReviewGroup.OfficialDocuments.First();

            // Задать тему.
            if (document.ExecutionState == ExecutionState.OnExecution)
            {
                e.Block.Subject = Docflow.PublicFunctions.Module.TrimSpecialSymbols(DocumentReviewTasks.Resources.AcquaintanceWithDocumentComplete, document.Name);
            }
            else if (document.ExecutionState == ExecutionState.WithoutExecut)
            {
                e.Block.Subject = Docflow.PublicFunctions.Module.TrimSpecialSymbols(DocumentReviewTasks.Resources.ManagerIsInformed, document.Name);
            }

            Docflow.PublicFunctions.Module.SynchronizeAddendaAndAttachmentsGroup(_obj.AddendaGroup, document);

            // Выдать помощнику права на вложения.
            Docflow.PublicFunctions.Module.GrantReadRightsForAttachments(_obj.AddendaGroup.All.ToList(), e.Block.Performers);
        }
Exemplo n.º 2
0
        public virtual void StartBlock9(Sungero.RecordManagement.Server.ReviewObserversNotificationArguments e)
        {
            var canPrepareResolution = Docflow.PublicFunctions.Module.GetSecretaries(_obj.Addressee).Any(x => Equals(x.Assistant, _obj.StartedBy) && x.PreparesResolution == true);

            _obj.NeedDeleteActionItems = !canPrepareResolution && _obj.ResolutionGroup.ActionItemExecutionTasks.Any();
            _obj.Save();

            if (_obj.NeedDeleteActionItems == true)
            {
                Functions.Module.DeleteActionItemExecutionTasks(_obj.ResolutionGroup.ActionItemExecutionTasks.ToList());
            }

            // Добавить наблюдателей задачи в качестве исполнителей уведомления.
            foreach (var observer in _obj.ResolutionObservers)
            {
                e.Block.Performers.Add(observer.Observer);
            }

            // Получить вложенный для рассмотрения документ.
            var document = _obj.DocumentForReviewGroup.OfficialDocuments.First();

            // Задать тему.
            var subject = DocumentReviewTasks.Resources.DocumentConsiderationStartedFormat(document.Name);

            e.Block.Subject = Docflow.PublicFunctions.Module.TrimSpecialSymbols(subject);

            Docflow.PublicFunctions.Module.SynchronizeAddendaAndAttachmentsGroup(_obj.AddendaGroup, document);

            // Выдать наблюдателям права на вложения.
            Docflow.PublicFunctions.Module.GrantReadRightsForAttachments(_obj.AddendaGroup.All.ToList(), e.Block.Performers);
        }
Exemplo n.º 3
0
 public virtual void StartNotice9(Sungero.RecordManagement.IReviewObserversNotification notice, Sungero.RecordManagement.Server.ReviewObserversNotificationArguments e)
 {
     notice.ThreadSubject = DocumentReviewTasks.Resources.ReviewBeginingNoticeThreadSubject;
 }
Exemplo n.º 4
0
        public virtual void StartNotice13(Sungero.RecordManagement.IReviewObserversNotification notice, Sungero.RecordManagement.Server.ReviewObserversNotificationArguments e)
        {
            // Установить "От" как исполнителя рассмотрения.
            notice.Author = _obj.Addressee;

            notice.ThreadSubject = DocumentReviewTasks.Resources.ReviewCompletionNoticeThreadSubject;
        }