使用soui开发的mbc,只支持windows版本
w1146869587
2022-01-24 479b1995ef435713c2cf4f0da8de3a6af6c30922
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#pragma once
#include "stdafx.h"
#include "MBOrgMember.h"
#include "MBOrgView.h"
#include "MBOrgUser.h"
#include "MBOrgGroup.h"
#include "MBOrgRole.h"
// CMBOrgListMgr command target
 
typedef CMap<CString, LPCTSTR, CMBOrgView*, CMBOrgView*&>        CMapOrgViewItem;
typedef CMap<CString, LPCTSTR, CMBOrgGroup*, CMBOrgGroup*&>        CMapOrgGroupItem;
typedef CMap<CString, LPCTSTR, CMBOrgRole*, CMBOrgRole*&>        CMapOrgRoleItem;
typedef CMap<CString, LPCTSTR, CMBOrgUser*, CMBOrgUser*&>        CMapOrgUserItem;
typedef CMap<CString, LPCTSTR, IBitmap*, IBitmap*&>                CMapOrgUserPhoto;
 
class AFX_EXT_CLASS CMBOrgListMgr : public CObject
{
public:
    CMBOrgListMgr();
    virtual ~CMBOrgListMgr();
// Attributes
public:
    CMapOrgViewItem        m_mapView;
    CMapOrgGroupItem    m_mapGroup;
    CMapOrgRoleItem        m_mapRole;
    CMapOrgUserItem        m_mapUser;
    CMapStringToString    m_mapUserAliasName;
    CMapStringToString    m_mapUserReamrksName;
    CMapOrgUserPhoto    m_mapUserPhoto;
    CMapOrgUserPhoto    m_mapDefaultUserPhoto;
// Operations
public:
    void            DetachAllMap();
    void            DetachMap( CString strMapName );
    void            InitDeaultUserPhoto(   );
    BOOL            LookupView( CString strViewID,CMBOrgView*& pView );
    BOOL            LookupGroup( CString strGroupID,CMBOrgGroup*& pGroup  );
    BOOL            LookupRole( CString strRoleID,CMBOrgRole*& pRole  );
    BOOL            LookupUser( CString strLoginName,CMBOrgUser*& pUser  );
    BOOL            LookupUserFromAliasName( CString strAliasName,CString &strLoginName );
    BOOL            LookupUserPhoto( CString strViewID,IBitmap        *&pBitmap  );
    BOOL            LookupDeaultUserPhoto(IBitmap        *&pBitmap, CString strUserSex  );
    BOOL            GetUserPhotoBitmap( IBitmap *&pBitmap  ,CString strUserLogin,CString strUserSex = _T(""));
    CString            GetUserName( CString strLoginName );
    CString            GetMemberName(  int nMemberType, CString strMemberID);
 
    void            AddView( CString strViewID, long nLevel, CString strViewName, CString strGener );
    void            AddMember( int nMemberType, CString strMemberID, CString strName,  int nLevel = 0 );
    void            RemoveMember( int nMemberType, CString strMemberID,bool bDelete = true );
    void            SetUserAliasName( CString strLoginName,CString strAliasName);
    void            AddUserPhoto(  CString strLoginName,  IBitmap*pBmp);
    void            AddDeaultUserPhoto( IBitmap*pBmp,CString strUserSex );
 
    BOOL            SetUserStatus( CString strLoginName, int nUserStatus );
    int                GetUserStatus( const CString strLoginName );
    int                GetUserLevel( const CString strLoginName );
    void            SetUserVer( CString strLoginName, int nUserInfoVer = 0,  int nUserPhotoVer = 0 );
    CString            GetUserMobile( CString strLoginName);
    BOOL            GetUserVer( const CString strLoginName, int &nUserInfoVer,  int &nUserPhotoVer );
 
    BOOL            DelView( CString strViewID );
    CString            GetAllOnLineUser( );
 
    void            OffLineAllUser( );
    BOOL            ParseOrgXml(int nMemberType, CString strMemberID, CString strCmder, CString strXml , bool bCover = true );
    CString            GetUserLogins( );
    
    void            RemoveAllUserRemarks( );
    CString            GetUserRemarksName( CString strLoginName );
    void            SetUserRemarksName( CString strLoginName,CString strRemarksName );
    CString            GetUserShowName( CString strLoginName );
    CString            GetUserListShowName( CString strLoginName );
private:
 
    void ParseOrgUserInfo( IXMLDOMElementPtr ptrItem ,CMBOrgMember *pMember,bool bCover = true);
    BOOL ParsOrgUserList(int nMemberType, CString strMemberID, IXMLDOMElementPtr ptrBody, bool bCover = true);
    BOOL ParsUAGOrgList(int nMemberType, CString strMemberID, IXMLDOMElementPtr ptrBody,bool bCover = true);
    BOOL ParseContactGroupInfo(int nMemberType, CString strMemberID,IXMLDOMElementPtr ptrBody, bool bCover  = true);
    void ParseOrgRoleInfo( IXMLDOMElementPtr ptrItem, CMBOrgMember *pMember);
    void ParseOrgInfo( IXMLDOMElementPtr ptrItem,  CMBOrgMember *pMember, CArrayMember &arParentMember, int nSortLevel);
    bool ParseParentInfo(CString strBuff,  CMBOrgMember *pMember );
};