Esempio n. 1
0
        public ITaskBranch GetBranchForRole(BranchRoles role, EngineModes mode, bool fallbackToAll)
        {
            var roleBranches = _branches.Values.Where(e => e as RoleBranch != null).Select(e => e as RoleBranch);

            var result = roleBranches.LastOrDefault(instance =>
                instance.BranchRole == role &&
                instance.RoleMode== mode) as ITaskBranch;

            if (result == null && fallbackToAll)
                result = GetBranchForRole(role, EngineModes.All, false) ;

            if (result == null)
                Log.DebugFormat("Cannot find branch for role {0} and mode {1}", role, mode);

            return result;
        }
Esempio n. 2
0
 public BranchNotFound(BranchRoles role, EngineModes mode)
 {
     Issue = string.Format("No branch defined for role {0} and mode {1}", role, mode);
 }
Esempio n. 3
0
 private IResult ExecuteBranch(BranchRoles role, IResult result)
 {
     var manager = Application.Current.CurrentKernel().Get<IBranchManager>();
     var branch = manager.GetBranchForRole(role, Mode, true);
     return branch == null ? new BranchNotFound(role, Mode) : branch.Execute(result);
 }