#pragma once
|
#include "CursorBase.h"
|
#include "dbCursor.h"
|
#include "MBAMDBConnect.h"
|
#include "MsgFolder.h"
|
#include "MsgOwner.h"
|
#include "MsgAttachment.h"
|
#include "MsgProperty.h"
|
|
|
// CMsg command target
|
class AFX_EXT_CLASS CMsgItem : public CCursorBase
|
{
|
DECLARE_DYNAMIC(CMsgItem)
|
public:
|
CMsgItem();
|
virtual ~CMsgItem();
|
void operator =( const CMsgItem& item );
|
|
// Attributes
|
public:
|
CString m_strID;
|
CString m_strSourceID;
|
CString m_strSubject;
|
CString m_strSender;
|
CString m_strSenderName; // Sender Name
|
COleDateTime m_tmDate; // Send Date
|
long m_nType; // Message Type, È磺ÆÕͨÏûÏ¢£¬ÌáÐÑ£¬ÈÎÎñ
|
long m_nMsgFolder; // ÏûÏ¢ËùÔÚλÖÃ
|
CString m_strFolderName;
|
long m_nNeedConfirm;
|
CString m_strMsgExtType; // ÏûÏ¢À©Õ¹ÀàÐÍ£¬È磺AM£¬ADOC
|
long m_nReadState; // ¶ÁÏûÏ¢µÄ״̬£¬Ä¬ÈÏΪûÓÐ
|
long m_nAttachCount; //
|
CString m_strAttitudeset; // ½ÓÊÕÕßÉ趨¶ÔÏûÏ¢µÄ̬¶È
|
long m_nMsgFlag;
|
long m_nPropertyCount; // ÏûÏ¢À©Õ¹ÊôÐԵĸöÊý
|
long m_nMsgExtState; // ÏûÏ¢µÄ״̬£¬ÈçÑÓ³Ù´¦Àí£¬×Ô¶¯»Ø¸´µÈ£¬ÓÃÓëÏûÏ¢¹ÜÀíÆ÷À©Õ¹
|
long m_nCharset; // ×Ö·û¼¯
|
long m_nIsGroupSend;
|
CString m_strAppType; //Ó¦ÓóÌÐòÏûÏ¢£¬Èç STK
|
CString m_strContentType; // È磺Text
|
long m_nContentSize; // ÏûÏ¢ÄÚÈÝ´óС
|
CString m_strContent; //ÏûÏ¢ÄÚÈÝ
|
CString m_strContentText; //ÏûÏ¢ÄÚÈÝÎı¾ÄÚÈÝ
|
bool m_bDownLoaded;
|
|
CString m_strReceivers; //½ÓÊÜÕß
|
CString m_strReceiverNames; //½ÓÊÕÕßÃû³Æ
|
COleDateTime m_tmOpenDate; // Date of Open Message
|
CString m_strReceiverAttitude; //
|
CStringArray m_asResertData; // ÖØÖð´Å¥µÄȡֵ
|
CStringArray m_asResertName; // ÖØÖð´Å¥µÄÃû³Æ LeftSide RightSide
|
|
CArray<CMsgOwnerItem, CMsgOwnerItem &> m_arMsgOwners; // Message Receiver
|
CArray<CMsgAttachmentItem, CMsgAttachmentItem &> m_arMsgAttachments; // Message Attachments
|
CArray<CMsgPropertyItem, CMsgPropertyItem &> m_arMsgPropertys; // Message Propertys
|
|
// Operations
|
public:
|
void Clear();
|
virtual BOOL GetItemValue( CString strName, CString &strValue )
|
{ return CCursorBase::GetItemValue( strName, strValue ); }
|
virtual BOOL GetItemValue( CString strName, COleVariant &varData );
|
BOOL InsertRecord( CDBConnect *pAConnect,bool bInsertUnRead);
|
BOOL UpdateRecord(CDBConnect *pAConnect );
|
CString GetUpdateRecordSQL( );
|
BOOL InsertUnreadMsg(CDBConnect *pAConnect);
|
BOOL UpdateUserAttitude( CDBConnect *pAConnect, CString strAttitude);
|
BOOL CheckOwnerAllOpen( CDBConnect *pAConnect);
|
public:
|
int FindMsgOwnerr( CString strLoginName,int nOwnerType = 0 );
|
void LoadNtyNewMsgData( CComPtr<ISTKMessage> IMessagePtr, long nFlag ) ;
|
BOOL LoadData(CComPtr<ISTKMessage> IMessagePtr);
|
BOOL CapyDataTo(CComPtr<ISTKMessage> IMessagePtr);
|
CString GetContentType( int AMContentType );
|
int GetContentType( CString strContentType );
|
int GetMsgEnType( );
|
|
BOOL IHaveOpened();
|
BOOL IsAttitudeOk( CString strRightButton );
|
BOOL IsHaveCCUser( );
|
BOOL IsHaveMulRecLim( );
|
|
void GetProp( CString strName, CString &strData );
|
void SetProp( CString strName, CString strData );
|
|
CString GetUserInfo();
|
CString GetUserInfoPro();
|
CString GetUsersPro( );
|
CString GetReceivers(); // µÃµ½½ÓÊÕÓû§µÇ¼ÃûÁÐ±í´®
|
CString GetReceiverTypes(); // µÃµ½½ÓÊÕÓû§µÇ¼ÃûÁÐ±í´®
|
CString GetReceiversName(); // µÃµ½½ÓÊÕÓû§ÃûÁÐ±í´®
|
CString GetOnlyReceiversName(); // Ö»µÃµ½½ÓÊÜÕßÓû§ÃûÁÐ±í´®
|
CString FormatReceiversName(); // ¸ñʽ»¯½ÓÊÕÓû§Ãû£¬È磺Óû§1;...
|
|
CString GetReplyUsers( CString strLogin );
|
CString GetReplyUsers2( CString strLogin );
|
CString GetReplyUsersPro( CString strLogin );
|
CString GetReplyCCUsers( CString strLogin );
|
|
CString GetReceiversPro( );
|
CString GetCCReceivers( );
|
CString GetCCReceiverTypes( );
|
void GetCCReceivers( CStringArray &asCCReceivers );
|
void GetCCReceiverTypes( CUIntArray &anCCReceiverTypes );
|
CString GetReceiversNamePro( );
|
CString GetCCReceiversName( );
|
CString GetReceiverName( CString strReceiver );
|
bool IsExistUnread( );
|
int AddData( CString strName, CString strValue );
|
BOOL GetData( CString strName, CString &strValue );
|
int FindData( CString strName );
|
|
int FindAttachment( CString strFileID );
|
|
};
|
|
class AFX_EXT_CLASS CMsgs : public CdbCursor, public CMsgItem
|
{
|
public:
|
CMsgs(CMBAMDBConnect *pAConnect);
|
virtual ~CMsgs();
|
void operator =( const CMsgs& item );
|
// Attributes
|
public:
|
// ¹ýÂËÌõ¼þ
|
COleDateTime m_tmStartDate; // ¹ýÂËÌõ¼þ¿ªÊ¼ÈÕÆÚ
|
COleDateTime m_tmEndDate; // ¹ýÂËÌõ¼þ½áÊøÈÕÆÚ
|
int m_nReaded; // ¹ýÂËÌõ¼þÊÇ·ñÒѶÁ -1 ²»ÉèÌõ¼þ >0 ÒѶÁµÄ =0 δ¶ÁµÄ
|
int m_nListMsgType; // ÏÔʾÏûÏ¢ÐÅÏ¢µÄÀàÐÍ
|
// Operations
|
public:
|
void InitFilter( );
|
int ListSpMsgID( LPCTSTR lpszMsgID );
|
int ListTalking3( CString strLogin,CString strUser2,long nLimitCount, BOOL bTimeAsc = FALSE );
|
int ListTalking2( CString strLogin,CString strUser2,long nLimitCount, BOOL bTimeAsc = FALSE );
|
int ListTalking( CString strLogin,CString strUser2,bool bOnlyAttachmentMsg = false, bool bGroupSend = false, BOOL bTimeAsc = FALSE );
|
int ListUnreadMsg( LPCTSTR lpszOwner );
|
long ListRecordCount( );
|
int ListReceiveBoxMsg( CString strUser,CString strUserName, CString strContentKey, int nAttach );
|
int ListSendBoxMsg( CString strUser,CString strUserName, CString strContentKey, int nAttach );
|
int ListFavBoxMsg( CString strUser,CString strUserName, CString strContentKey, int nFavFolder );
|
int ListSyncBoxMsg( CString strSynchDate );
|
int ListSysBoxMsg( );
|
int ListSearchingTalkingMsg( CString strLogin,CString strUser2,CString strKey, BOOL bTimeAsc = FALSE );
|
|
bool RemoveMsg( LPCTSTR lpszMsgID );
|
bool MoveMsg( LPCTSTR lpszMsgID, long nNewFolderID );
|
|
int GetMsgOwnersLength();
|
bool GetMsgOwner( int nIndex, CMsgOwners &msgOwner );
|
int GetAttachmentCount();
|
bool GetAttachment( int nIndex, CMsgAttachments &msgAttachment );
|
|
|
bool RemoveOutboxTimeMsg( LPCTSTR lpszOwner, COleDateTime tmStartDate, COleDateTime tmEndDate );
|
bool RemoveReadedTimeMsg( LPCTSTR lpszOwner, COleDateTime tmStartDate, COleDateTime tmEndDate );
|
int ListSearchingTalking(CString strLogin, CString strUser2,CString strKey,bool bOnlyAttachmentMsg,bool bGroupSend = false,BOOL bTimeAsc = FALSE );
|
int ListTalkingAllMsg( CString strLogin, CString strUser2, BOOL bTimeAsc = FALSE );
|
int ListSearchingTalkingAllMsg( CString strLogin, CString strUser2,CString strKey,BOOL bTimeAsc = FALSE );
|
public:
|
virtual bool GetData( );
|
void InitMsgData( );
|
|
bool GetMsgOwnerDataSimple( );
|
bool GetMsgDataSimple( );
|
|
bool GetMsgOwnerData( );
|
bool GetMsgAttachmentData( );
|
bool GetMsgPropertyData( );
|
bool GetMsgData( );
|
bool GetMsgChatData( );
|
bool GetMsgAdminData( );
|
BOOL DoSaveSyncMsg( CMsgItem *pMsg,bool bIsSendMsg, bool bNeedConfirm);
|
BOOL DoSaveMsg( CMsgItem *pMsg,bool bIsSendMsg, bool bNeedConfirm);
|
BOOL DoSaveSendMulMsg(CMsgItem *pMsg );
|
public:
|
BOOL UpdateMsgOwnerAttitude( CMsgItem *pMsg );
|
BOOL UpldateLastContactDate( CString strID, CString strName, CString strLastDate, CString strSubject);
|
BOOL UpdateMsg( CMsgItem *pMsg,bool bIsSendMsg );
|
|
};
|