/// <summary> /// Выдача прав исполнителю на задачу, ее вложения, и связанные с вложениями документы. /// </summary> /// <param name="performer">Исполнитель.</param> /// <param name="e">Аргументы.</param> public virtual void GrantAccessRights(IEmployee performer, Sungero.SmartProcessing.Server.VerificationAssignmentArguments e) { e.Block.Performers.Add(performer); // Выдать права на вложения исполнителю. foreach (var document in _obj.AllAttachments) { if (!document.AccessRights.IsGrantedDirectly(DefaultAccessRightsTypes.FullAccess, performer)) { document.AccessRights.Grant(performer, DefaultAccessRightsTypes.FullAccess); } // Выдать права на связанные документы. var attachedDocument = Sungero.Docflow.OfficialDocuments.As(document); var relatedDocuments = attachedDocument.Relations.GetRelatedFrom(); foreach (var relatedDocument in relatedDocuments) { if (!relatedDocument.AccessRights.IsGrantedDirectly(DefaultAccessRightsTypes.Read, performer)) { relatedDocument.AccessRights.Grant(performer, DefaultAccessRightsTypes.Read); } } } // Выдать права на задачу. _obj.AccessRights.Grant(performer, DefaultAccessRightsTypes.Change); }
public virtual void StartBlock3(Sungero.SmartProcessing.Server.VerificationAssignmentArguments e) { // Заполнить тему задачи. e.Block.Subject = _obj.AllAttachments.Count() > 1 ? Sungero.SmartProcessing.VerificationTasks.Resources.PackageAssignmentSubjectFormatFormat(_obj.LeadingDocumentName) : Sungero.SmartProcessing.VerificationTasks.Resources.DocumentAssignmentSubjectFormatFormat(_obj.LeadingDocumentName); if (e.Block.Subject.Length > Tasks.Info.Properties.Subject.Length) { e.Block.Subject = e.Block.Subject.Substring(0, Tasks.Info.Properties.Subject.Length); } this.GrantAccessRights(_obj.Assignee, e); }
public virtual void CompleteAssignment3(Sungero.SmartProcessing.IVerificationAssignment assignment, Sungero.SmartProcessing.Server.VerificationAssignmentArguments e) { if (assignment.Result == SmartProcessing.VerificationAssignment.Result.Forward) { _obj.Deadline = assignment.NewDeadline; assignment.Forward(assignment.Addressee, ForwardingLocation.Next, assignment.NewDeadline); } }
public virtual void StartAssignment3(Sungero.SmartProcessing.IVerificationAssignment assignment, Sungero.SmartProcessing.Server.VerificationAssignmentArguments e) { if (_obj.Addressee != null) { this.GrantAccessRights(_obj.Addressee, e); } assignment.Deadline = _obj.Deadline; }