示例#1
0
        protected List <WindowsUser> GetUser(List <string> lstUserName)
        {
            List <WindowsUser> lstUser     = new List <WindowsUser>();
            WindowsUser        target_user = null;

            Models.TaskInstance taskInstance = null;
            foreach (string user_name in lstUserName)
            {
                switch (user_name)
                {
                case DelegateBackToOwner:
                    if (CurrentTask != null)
                    {
                        target_user = WindowsUser.GetWindowsUser(CurrentTask.entry_author);
                        if (target_user.IsValid)
                        {
                            lstUser.Add(target_user);
                        }
                    }
                    break;

                case DelegateBackToPreviousPerson:
                    taskInstance = FindLatestInstance(STATUS_REQUEST);
                    if (taskInstance == null && CurrentUser is WindowsUser)
                    {
                        lstUser.Add(CurrentUser as WindowsUser);
                    }
                    else
                    {
                        target_user = WindowsUser.GetWindowsUser(taskInstance.entry_author);
                        if (target_user.IsValid)
                        {
                            lstUser.Add(target_user);
                        }
                    }

                    break;

                case ProposeToDestination:

                    taskInstance = FindLatestInstance(STATUS_REQUEST);
                    if (taskInstance != null)
                    {
                        List <Models.TaskSubmitInformation> taskSubmitList = LoadSubmitInformation(taskInstance);
                        foreach (
                            TaskSubmitInformation taskSubmit in
                            taskSubmitList)
                        {
                            target_user = WindowsUser.GetWindowsUser(taskSubmit.submit_to);
                            if (target_user.IsValid && lstUser.Contains(target_user) == false)
                            {
                                lstUser.Add(target_user);
                            }
                        }
                    }
                    break;

                case ProposeToOwner:
                    taskInstance = FindLatestInstance(STATUS_REQUEST);
                    if (taskInstance != null)
                    {
                        target_user = WindowsUser.GetWindowsUser(taskInstance.entry_author);
                        if (target_user.IsValid && lstUser.Contains(target_user) == false)
                        {
                            lstUser.Add(target_user);
                        }
                    }
                    break;

                default:
                    target_user = WindowsUser.GetWindowsUser(user_name);
                    if (target_user.IsValid && lstUser.Contains(target_user) == false)
                    {
                        lstUser.Add(target_user);
                    }
                    break;
                }
            }
            return(lstUser);
        }
示例#2
0
 protected List <Models.TaskSubmitInformation> LoadSubmitInformation(Models.TaskInstance taskInstance)
 {
     return(GyomuDataAccess.SelectTaskSubmitInformation(taskInstance));
 }