예제 #1
0
        public Approver CreateChainOfApprovers(List <Approver> approvers)
        {
            var      configValues = relationshipConfig.Values;
            Approver mainApprover = approvers.First(el => !configValues.Contains(el.Id, StringComparer.InvariantCultureIgnoreCase));

            foreach (var approver in approvers)
            {
                if (relationshipConfig.TryGetValue(approver.Id, out string currentApproverId))
                {
                    var activeApprover = approvers.First(el => el.Id == currentApproverId);
                    if (activeApprover != null)
                    {
                        approver.SetSuccessor(activeApprover);
                    }
                }
            }

            return(mainApprover);
        }
예제 #2
0
 public virtual void setNext(Approver approver)
 {
     Next = approver;
 }
예제 #3
0
 public void SetSuccessor(Approver successor)
 {
     this.successor = successor;
 }
예제 #4
0
 public void SetSupervisor(Approver supervisor)
 {
     this.Supervisor = supervisor;
 }
예제 #5
0
 public void SetNetOnCommand(Approver nextOnCommand) => NextOnCommand = nextOnCommand;
예제 #6
0
 public void SetSuccessor(Approver approver)
 {
     this.successor = approver;
 }
예제 #7
0
 public void SetNextApprover(Approver nextApprover)
 {
     this.NextApprover = nextApprover;
 }
예제 #8
0
 public void SetSuccessor(Approver successor)
 {
     this.successor = successor;
 }