#include "StdAfx.h"
|
#include "MBDocDiffMgr.h"
|
|
|
CMBDocDiffMgr::CMBDocDiffMgr(void)
|
{
|
|
}
|
|
|
CMBDocDiffMgr::~CMBDocDiffMgr(void)
|
{
|
|
}
|
|
bool CMBDocDiffMgr::AddDocDiff(CMBDocDiff *pDocDiff)
|
{
|
return AddDocObj(pDocDiff);
|
}
|
|
CMBDocDiff* CMBDocDiffMgr::GetDocDiff( CString strID )
|
{
|
|
return (CMBDocDiff*)GetDocObj(strID);
|
}
|
|
bool CMBDocDiffMgr::RemoveAllDocDiff()
|
{
|
return RemoveAllDocObj();
|
}
|
|
// ´æÔÚÃû³Æ
|
bool CMBDocDiffMgr::ExsitName( CString strName )
|
{
|
CString strTmpName;
|
CMBBaseDocObjMap::iterator it;
|
CMBBaseDocObj *pDocObj = NULL;
|
|
strName = strName.Trim();
|
if( strName.IsEmpty() )
|
return false;
|
|
for( it = m_mapDocObj.begin();it != m_mapDocObj.end();it++ )
|
{
|
pDocObj = it->second;
|
strTmpName = pDocObj->m_strName;
|
strTmpName = strTmpName.Trim();
|
|
if( strTmpName == strName )
|
{
|
return true;
|
}
|
}
|
return false;
|
}
|
|
// Çå¿Õ¹ÜÀíÆ÷
|
bool CMBDocDiffMgr::EmptyMgr()
|
{
|
m_mapDocObj.clear();
|
m_vecotrDocObj.clear();
|
return true;
|
}
|
|
bool CMBDocDiffMgr::ParseXml( CString &strXml,CString &strErrInfo )
|
{
|
if( strXml.IsEmpty() )
|
{
|
strErrInfo = _T("CMBDocMgr::ParseXml,²ÎÊýstrXmlΪ¿Õ£¡");
|
return false;
|
}
|
|
CString strFileSize;
|
pugi::xml_document xmlDoc;
|
|
if (!xmlDoc.load(strXml))
|
{
|
return false;
|
}
|
pugi::xml_node form = xmlDoc.child(_T("Body")).child(_T("Doc"));
|
for(pugi::xml_node node = form; node; node = node.next_sibling(_T("Doc")))
|
{
|
CMBDocDiff *pDocDiff = new CMBDocDiff();
|
pDocDiff->m_strID = node.attribute(_T("ID")).value();
|
pDocDiff->m_strName = node.child_value(_T("Name"));
|
pDocDiff->m_strStatus = node.attribute(_T("Status")).value();
|
pDocDiff->m_strFileType = node.attribute(_T("FileType")).value();
|
pDocDiff->m_strFileTime = node.attribute(_T("FileTime")).value();
|
strFileSize = node.attribute(_T("FileSize")).value();
|
pDocDiff->m_nFileSize = _ttoi(strFileSize);
|
pDocDiff->m_strDTCreate = node.attribute(_T("DTCreate")).value();
|
pDocDiff->m_strCreatorID = node.attribute(_T("CreatorID")).value();
|
pDocDiff->m_strCreatorName = node.attribute(_T("CreatorName")).value();
|
|
//pDocDiff->m_strIsLock = node.attribute(_T("IsLock")).value();
|
pDocDiff->m_strLocker = node.attribute(_T("Locker")).value();
|
pDocDiff->m_strLockerName = node.attribute(_T("LockerName")).value();
|
pDocDiff->m_strLockTime = node.attribute(_T("LockTime")).value();
|
|
pDocDiff->m_strTags = node.attribute(_T("Tags")).value();
|
// ThumbURL
|
pDocDiff->m_strThumbURL = node.child_value(_T("ThumbURL"));
|
|
if( !AddDocDiff(pDocDiff) )
|
{
|
delete pDocDiff;
|
pDocDiff = NULL;
|
}
|
}
|
|
return true;
|
}
|