Ejemplo n.º 1
0
        public virtual void DocumentForReviewGroupAdded(Sungero.Workflow.Interfaces.AttachmentAddedEventArgs e)
        {
            var document = OfficialDocuments.As(e.Attachment);

            // Задать тему.
            using (TenantInfo.Culture.SwitchTo())
                _obj.Subject = Docflow.PublicFunctions.Module.TrimSpecialSymbols(DocumentReviewTasks.Resources.Consideration, document.Name);

            // Задать адресата.
            if (IncomingDocumentBases.Is(document))
            {
                _obj.Addressee = IncomingDocumentBases.As(document).Addressee;
            }
            if (Memos.Is(document))
            {
                _obj.Addressee = Memos.As(document).Addressee;
            }

            // Задать срок рассмотрения.
            var addressee = _obj.Addressee ?? Users.Current;

            _obj.Deadline = Docflow.PublicFunctions.DocumentKind.GetConsiderationDate(document.DocumentKind, addressee) ??
                            Calendar.Now.AddWorkingDays(addressee, Functions.Module.Remote.GetDocumentReviewDefaultDays());
            if (!_obj.State.IsCopied)
            {
                Docflow.PublicFunctions.Module.SynchronizeAddendaAndAttachmentsGroup(_obj.AddendaGroup, _obj.DocumentForReviewGroup.OfficialDocuments.FirstOrDefault());
            }

            Docflow.PublicFunctions.OfficialDocument.DocumentAttachedInMainGroup(document, _obj);

            // Добавить вложения.
            Docflow.PublicFunctions.OfficialDocument.AddRelatedDocumentsToAttachmentGroup(document, _obj.OtherGroup);
        }
Ejemplo n.º 2
0
        public virtual void DocumentsGroupAdded(Sungero.Workflow.Interfaces.AttachmentAddedEventArgs e)
        {
            var document = Docflow.OfficialDocuments.As(e.Attachment);

            // Заполнить исполнителя из письма.
            if (_obj.IsCompoundActionItem == true ? !_obj.ActionItemParts.Any() : _obj.Assignee == null)
            {
                if (document != null && document.Assignee != null)
                {
                    if (_obj.IsCompoundActionItem == true)
                    {
                        _obj.ActionItemParts.AddNew().Assignee = document.Assignee;
                    }
                    else
                    {
                        _obj.Assignee = document.Assignee;
                    }
                }
            }

            var subjectTemplate = _obj.IsCompoundActionItem == true ?
                                  ActionItemExecutionTasks.Resources.ComponentActionItemExecutionSubject :
                                  ActionItemExecutionTasks.Resources.TaskSubject;

            _obj.Subject = Functions.ActionItemExecutionTask.GetActionItemExecutionSubject(_obj, subjectTemplate);

            if (!_obj.State.IsCopied)
            {
                Docflow.PublicFunctions.Module.SynchronizeAddendaAndAttachmentsGroup(_obj.AddendaGroup, document);
            }

            Docflow.PublicFunctions.OfficialDocument.DocumentAttachedInMainGroup(document, _obj);
        }
Ejemplo n.º 3
0
 public virtual void DocumentsGroupAdded(Sungero.Workflow.Interfaces.AttachmentAddedEventArgs e)
 {
     if (!_obj.State.IsCopied)
     {
         Docflow.PublicFunctions.Module.SynchronizeAddendaAndAttachmentsGroup(_obj.AddendaGroup, _obj.DocumentsGroup.OfficialDocuments.FirstOrDefault());
     }
 }
Ejemplo n.º 4
0
 public virtual void ResolutionGroupAdded(Sungero.Workflow.Interfaces.AttachmentAddedEventArgs e)
 {
     // В качестве проектов резолюции нельзя отправить поручения-непроекты.
     if (_obj.ResolutionGroup.ActionItemExecutionTasks.Any(a => a.IsDraftResolution != true))
     {
         foreach (var actionItem in _obj.ResolutionGroup.ActionItemExecutionTasks.Where(a => a.IsDraftResolution != true))
         {
             _obj.ResolutionGroup.ActionItemExecutionTasks.Remove(actionItem);
         }
         throw AppliedCodeException.Create(DocumentReviewTasks.Resources.FindNotDraftResolution);
     }
 }
Ejemplo n.º 5
0
        public virtual void DocumentGroupAdded(Sungero.Workflow.Interfaces.AttachmentAddedEventArgs e)
        {
            _obj.Subject = AcquaintanceTasks.Resources.AcquaintanceTaskSubjectFormat(e.Attachment.DisplayValue);

            // Добавление вложений.
            var document = _obj.DocumentGroup.OfficialDocuments.First();

            if (!_obj.State.IsCopied)
            {
                Docflow.PublicFunctions.Module.SynchronizeAddendaAndAttachmentsGroup(_obj.AddendaGroup, document);
                Docflow.PublicFunctions.OfficialDocument.AddRelatedDocumentsToAttachmentGroup(document, _obj.OtherGroup);
            }

            Docflow.PublicFunctions.OfficialDocument.DocumentAttachedInMainGroup(document, _obj);
        }
Ejemplo n.º 6
0
        public virtual void ForApprovalGroupAdded(Sungero.Workflow.Interfaces.AttachmentAddedEventArgs e)
        {
            var document = _obj.ForApprovalGroup.ElectronicDocuments.First();

            // Получить ресурсы в культуре тенанта.
            using (TenantInfo.Culture.SwitchTo())
                _obj.Subject = Functions.Module.TrimSpecialSymbols(FreeApprovalTasks.Resources.TaskSubject, document.Name);

            if (!_obj.State.IsCopied)
            {
                Functions.Module.SynchronizeAddendaAndAttachmentsGroup(_obj.AddendaGroup, document);
                if (OfficialDocuments.Is(document))
                {
                    Functions.OfficialDocument.AddRelatedDocumentsToAttachmentGroup(OfficialDocuments.As(document), _obj.OtherGroup);
                }
            }

            if (OfficialDocuments.Is(document))
            {
                Functions.OfficialDocument.DocumentAttachedInMainGroup(OfficialDocuments.As(document), _obj);
            }
        }
Ejemplo n.º 7
0
        public virtual void DocumentGroupAdded(Sungero.Workflow.Interfaces.AttachmentAddedEventArgs e)
        {
            var document = _obj.DocumentGroup.OfficialDocuments.First();

            using (TenantInfo.Culture.SwitchTo())
                _obj.Subject = Functions.Module.TrimSpecialSymbols(ApprovalTasks.Resources.TaskSubject, document.Name);

            if (!_obj.State.IsCopied)
            {
                Functions.Module.SynchronizeAddendaAndAttachmentsGroup(_obj.AddendaGroup, document);
                Functions.OfficialDocument.AddRelatedDocumentsToAttachmentGroup(document, _obj.OtherGroup);
            }

            _obj.ApprovalRule = Functions.OfficialDocument.Remote.GetApprovalRules(document).FirstOrDefault();
            _obj.DocumentExternalApprovalState = document.ExternalApprovalState ?? ApprovalTask.DocumentExternalApprovalState.Empty;

            Functions.OfficialDocument.DocumentAttachedInMainGroup(document, _obj);

            var stages = Functions.ApprovalTask.Remote.GetStages(_obj).Stages;

            Functions.ApprovalTask.RefreshApprovalTaskForm(_obj, stages);
            Functions.ApprovalTask.Remote.ApprovalRuleChanged(_obj, _obj.ApprovalRule, stages);
        }
Ejemplo n.º 8
0
 public virtual void DocumentGroupAdded(Sungero.Workflow.Interfaces.AttachmentAddedEventArgs e)
 {
     _obj.DocumentToReturn = ElectronicDocuments.As(e.Attachment);
     using (TenantInfo.Culture.SwitchTo())
         _obj.Subject = CheckReturnTasks.Resources.ReturnTaskSubjectFormat(_obj.DocumentToReturn.Name);
 }