#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 CMapOrgViewItem; typedef CMap CMapOrgGroupItem; typedef CMap CMapOrgRoleItem; typedef CMap CMapOrgUserItem; typedef CMap 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 ); };