예제 #1
0
        public virtual void StartBlock2(Sungero.Exchange.Server.ReceiptNotificationSendingAssignmentArguments e)
        {
            // Определить исполнителя.
            var performer = _obj.Addressee != null ? _obj.Addressee : _obj.Box.Responsible;

            e.Block.Performers.Add(performer);

            // Заполнить поля из задачи.
            e.Block.Subject = ReceiptNotificationSendingTasks.Resources.AssignmentSubjectFormat(_obj.Box.Name);
            e.Block.Box     = _obj.Box;
            e.Block.RelativeDeadlineHours = 4;

            // Выдать права на задачу.
            _obj.AccessRights.Grant(performer, DefaultAccessRightsTypes.Change);
        }
예제 #2
0
 public virtual void CompleteAssignment2(Sungero.Exchange.IReceiptNotificationSendingAssignment assignment, Sungero.Exchange.Server.ReceiptNotificationSendingAssignmentArguments e)
 {
 }
예제 #3
0
        public virtual void StartAssignment2(Sungero.Exchange.IReceiptNotificationSendingAssignment assignment, Sungero.Exchange.Server.ReceiptNotificationSendingAssignmentArguments e)
        {
            _obj.MaxDeadline = assignment.Deadline;

            // Переадресованное задание должно приходить от последнего исполнителя.
            var lastProcessingAssignment = ReceiptNotificationSendingAssignments.GetAll().Where(a => Equals(a.Task, assignment.Task) && a.Id != assignment.Id).OrderByDescending(a => a.Created).FirstOrDefault();

            if (lastProcessingAssignment != null)
            {
                assignment.Author = lastProcessingAssignment.Performer;
            }
        }