// PackageItemDetail.h : CPackageItemDetail ���ʵ��



// CPackageItemDetail ʵ��

// ���������� 2016��11��10��, 16:25

#include "stdafx.h"
#include "PackageItemDetail.h"
IMPLEMENT_DYNAMIC(CPackageItemDetail, CRecordset)

CPackageItemDetail::CPackageItemDetail(CDatabase* pdb)
	: CRecordset(pdb)
{
	m_StudioID = _T("");
	m_PackageSN = _T("");
	m_ItemType = _T("");
	m_ItemSN = _T("");
	m_ItemName = _T("");
	m_ItemCount = 0;
	m_ItemCost = 0.0;
	m_ItemSales = 0.0;
	m_ItemShelves = FALSE;
	m_ItemNote = _T("");
	m_nFields = 10;
	m_nDefaultType = dynaset;
}
//#error ��ȫ����: �����ַ������ܰ������롣
// �������ַ����п��ܰ������������/��������Ҫ
// ��Ϣ�����ڲ鿴��������ַ������ҵ������밲ȫ
// �йص�������Ƴ� #error��������Ҫ���������
// ��Ϊ������ʽ��ʹ���������û�������֤��
CString CPackageItemDetail::GetDefaultConnect()
{
	return _T("DSN=EasySelection;UID=sa;PWD=ly1234;APP=Microsoft\x00ae Visual Studio\x00ae 2015;WSID=IT-PC;DATABASE=EasySelection;");
}

CString CPackageItemDetail::GetDefaultSQL()
{
	return _T("[dbo].[PackageItemDetail]");
}

void CPackageItemDetail::DoFieldExchange(CFieldExchange* pFX)
{
	pFX->SetFieldType(CFieldExchange::outputColumn);
// RFX_Text() �� RFX_Int() �������������
// ��Ա���������ͣ����������ݿ��ֶε����͡�
// ODBC �����Զ�����ֵת��Ϊ�����������
	RFX_Text(pFX, _T("[StudioID]"), m_StudioID);
	RFX_Text(pFX, _T("[PackageSN]"), m_PackageSN);
	RFX_Text(pFX, _T("[ItemType]"), m_ItemType);
	RFX_Text(pFX, _T("[ItemSN]"), m_ItemSN);
	RFX_Text(pFX, _T("[ItemName]"), m_ItemName);
	RFX_Byte(pFX, _T("[ItemCount]"), m_ItemCount);
	RFX_Double(pFX, _T("[ItemCost]"), m_ItemCost);
	RFX_Double(pFX, _T("[ItemSales]"), m_ItemSales);
	RFX_Bool(pFX, _T("[ItemShelves]"), m_ItemShelves);
	RFX_Text(pFX, _T("[ItemNote]"), m_ItemNote);

}
/////////////////////////////////////////////////////////////////////////////
// CPackageItemDetail ���

#ifdef _DEBUG
void CPackageItemDetail::AssertValid() const
{
	CRecordset::AssertValid();
}

void CPackageItemDetail::Dump(CDumpContext& dc) const
{
	CRecordset::Dump(dc);
}
#endif //_DEBUG



//////////////////////////////////////////////////////////////////////////
IMPLEMENT_SERIAL(CPackageItemDetailObj, CObject, 0)

CPackageItemDetailObj::CPackageItemDetailObj()
{
	m_StudioID = _T("");
	m_PackageSN = _T("");
	m_ItemType = _T("");
	m_ItemSN = _T("");
	m_ItemName = _T("");
	m_ItemCount = 0;
	m_ItemCost = 0.0;
	m_ItemSales = 0.0;
	m_ItemShelves = FALSE;
	m_ItemNote = _T("");
}

CPackageItemDetailObj& CPackageItemDetailObj::operator=(const CPackageItemDetailObj& member)
{
	m_StudioID = member.m_StudioID;
	m_PackageSN = member.m_PackageSN;
	m_ItemType = member.m_ItemType;
	m_ItemSN = member.m_ItemSN;
	m_ItemName = member.m_ItemName;
	m_ItemCount = member.m_ItemCount;
	m_ItemCost = member.m_ItemCost;
	m_ItemSales = member.m_ItemSales;
	m_ItemShelves = member.m_ItemShelves;
	m_ItemNote = member.m_ItemNote;

	return *this;
}

void CPackageItemDetailObj::Serialize(CArchive& ar)
{
	try
	{
		CObject::Serialize(ar);

		if (ar.IsStoring())
		{
			ar << m_StudioID;
			ar << m_PackageSN;
			ar << m_ItemType;
			ar << m_ItemSN;
			ar << m_ItemName;
			ar << m_ItemCount;
			ar << m_ItemCost;
			ar << m_ItemSales;
			ar << m_ItemShelves;
			ar << m_ItemNote;
		}
		else
		{
			ar >> m_StudioID;
			ar >> m_PackageSN;
			ar >> m_ItemType;
			ar >> m_ItemSN;
			ar >> m_ItemName;
			ar >> m_ItemCount;
			ar >> m_ItemCost;
			ar >> m_ItemSales;
			ar >> m_ItemShelves;
			ar >> m_ItemNote;
		}
	}
	catch (CMemoryException* e)
	{
#if _DEBUG
		e->ReportError();
#endif
	}
}