コード例 #1
0
        /// <summary>
        /// 人员组织树进行切换
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tv_PersonPlan_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            try
            {
                //取得当前的被选择节点
                itemOrgInfo = ((System.Windows.Controls.TreeView)(sender)).SelectedItem as PP_DepartmentInfo;

                if (itemOrgInfo == null)
                {
                    return;
                }
                else
                {
                    //界面赋值

                    PT.Profile.Types.DeptMemberList deptList = new PT.Profile.Types.DeptMemberList();

                    PT_BS_Service.Client.Framework.BeOperationInvoker.Invoke <PT.Profile.Interface.IOrganization, PT.Profile.Types.DeptMemberList>(p =>
                    {
                        deptList = p.GetDeptMembersByDeptID(itemOrgInfo.GUID, false);

                        return(deptList);
                    });

                    personinfolist.Clear();

                    foreach (DeptMember dm in deptList)
                    {
                        if (dm.UserStatus == UserStatusEnum.Out ||
                            dm.UserStatus == UserStatusEnum.Forbid ||
                            dm.UserStatus == UserStatusEnum.Leave ||
                            dm.UserStatus == UserStatusEnum.Background ||
                            exsitUserIDList.Contains(dm.UserID))
                        {
                            continue;
                        }

                        PP_PersonInfo tempPersonInfo = CreatePersonInfoSource(dm);
                        personinfolist.Add(tempPersonInfo);
                    }


                    this.dg_GrouperList.ItemsSource = null;
                    this.dg_GrouperList.ItemsSource = personinfolist;
                }
            }
            catch
            {
                throw;
            }
        }
コード例 #2
0
        //无限接循环子节点添加到根节点下面
        private void ForeachPropertyNode(PP_DepartmentInfo node, string pid, DeptInfoList nodes)
        {
            foreach (DeptInfo tempNode in nodes)
            {
                if (tempNode.ParentDeptID == pid)
                {
                    PP_DepartmentInfo pp_department = CreateDepartmentInfoSource(tempNode);

                    ForeachPropertyNode(pp_department, pp_department.GUID, nodes);

                    node.Children.Add(pp_department);
                }
            }
        }
コード例 #3
0
        private PP_DepartmentInfo CreateDepartmentInfoSource(DeptInfo pDeptInfo)
        {
            var dis = new PP_DepartmentInfo
            {
                ORG_TYPE        = 0,
                GUID            = pDeptInfo.DeptID,
                NAME            = pDeptInfo.DeptName,
                DeptFax         = pDeptInfo.DeptFax,
                DeptPhone       = pDeptInfo.DeptPhone,
                DisplaySequence = pDeptInfo.DisplaySequence,
                DistrictCode    = pDeptInfo.DistrictCode,
                IsOrganization  = pDeptInfo.IsOrganization,
                PARENT_GUID     = pDeptInfo.ParentDeptID,
                //XGZ:用户在线数量
                //OnlineUserCount = "(1/10)"
            };

            return(dis);
        }
コード例 #4
0
        private void OrganizationClientOnGetDeptInfos(DeptInfoList pDeptInfos)
        {
            try
            {
                var deptinfos = pDeptInfos;
                if (deptinfos == null)
                {
                    throw new Exception("组织结构初始化失败。");
                }
                if (deptinfos.Count == 0)
                {
                    return;
                }
                DeptInfo foundRoot = (from i in deptinfos where i.DistrictCode == _areaCode && i.IsOrganization select i).FirstOrDefault();
                if (foundRoot == null)
                {
                    return;
                }

                PP_DepartmentInfoList.Clear();
                PP_DepartmentInfo rootdepartment = CreateDepartmentInfoSource(foundRoot);

                ForeachPropertyNode(rootdepartment, rootdepartment.GUID, pDeptInfos);
                PP_DepartmentInfoList.Add(rootdepartment);

                this.tv_PersonPlan.ItemsSource = null;
                this.tv_PersonPlan.ItemsSource = PP_DepartmentInfoList;
            }
            catch
            {
                ////LogHelper.WriteLog("初始化组织结构", Utile.GetExceptionContext(ex));
                //OnInitializeCompleted(false);
            }
            finally
            {
                //if (!completed)
                //    OnInitializeCompleted(false);
            }
        }