Files
2022-10-26 12:25:11 +08:00

68 lines
1.9 KiB
C++

#include "SunClientPrecompiledHeader.h"
#include "PurchaseItem.h"
#include "ProductInfo.h"
namespace ConvenienceStore
{
//------------------------------------------------------------------------------
PurchaseItem* PurchaseItem::CreatePurchase(ProductItem* pProductItem, int basket_product_index)
{
if (pProductItem == NULL)
{
return NULL;
}
PurchaseItem* pItem = new PurchaseItem(pProductItem);
pItem->SetBasketProductIndex( basket_product_index );
if (pItem->is_package() == false)
{
//!˝ŤĆäÉčÎŞľÚŇť¸öĄŁ
pItem->SetPriceSequence( pItem->first_info()->GetPriceProperty().GetPriceSequence() );
}
return pItem;
}
//------------------------------------------------------------------------------
PurchaseItem::PurchaseItem()
: ProductItem()
, shop_price_seq_(0)
, basket_product_index_(-1)
{
}
//------------------------------------------------------------------------------
PurchaseItem::PurchaseItem(ProductItem* product)
: ProductItem( product )
, basket_product_index_(-1)
, shop_price_seq_(0)
{
}
//------------------------------------------------------------------------------
PurchaseItem::~PurchaseItem()
{
}
//------------------------------------------------------------------------------
ProductInfo& PurchaseItem::GetCurProductInfo()
{
std::vector<ProductInfo>& product_info_array = GetInfoVector();
for( size_t i=0;i!=product_info_array.size();++i)
{
if (shop_price_seq_ == -1)
{
return product_info_array[i];
}
else if (product_info_array[i].GetPriceProperty().GetPriceSequence() == shop_price_seq_ )
{
return product_info_array[i];
}
}
return product_info_array[0];
}
}