#include "stdafx.h" #include "PartSTDDataClr.h" namespace OTSINTERFACE { CPartSTDDataClr::CPartSTDDataClr() { mPartSTD =new CPartSTDDataPtr( new CPartSTDData()); } CPartSTDDataClr::CPartSTDDataClr(CPartSTDDataPtr pPartSTDData) // copy constructor { mPartSTD = new CPartSTDDataPtr(pPartSTDData); } CPartSTDDataClr::!CPartSTDDataClr() { if (mPartSTD != nullptr) { delete mPartSTD; mPartSTD = nullptr; } } CPartSTDDataClr::~CPartSTDDataClr() { if (mPartSTD != nullptr) { delete mPartSTD; mPartSTD = nullptr; } } CPartSTDDataPtr CPartSTDDataClr::GetPartSTDDataPtr() { return *mPartSTD; } List^ CPartSTDDataClr::GetElementsList() { List^ eles= gcnew List(); auto elements = mPartSTD->get()->GetElementsList(); for (auto ele : elements) { eles->Add(gcnew CElementClr(ele)); } return eles; } void CPartSTDDataClr::SetElementsList(List^ a_listElements) { CElementsList eles; auto ele = a_listElements->GetEnumerator(); for (; ele.MoveNext();) { eles.push_back(ele.Current->GetElementPtr()); } mPartSTD->get()->SetElementsList(eles,true); } List^ CPartSTDDataClr::GetSTDItemsList() { List^ STDItms = gcnew List(); auto itms = mPartSTD->get()->GetSTDItemsList(); for (auto itm : itms) { STDItms->Add(gcnew CSTDItemClr(itm)); } return STDItms; } void CPartSTDDataClr::SetSTDItemsList(List^ a_listSTDItems) { CSTDItemsList STDs; auto itmEnumerator = a_listSTDItems->GetEnumerator(); for (; itmEnumerator.MoveNext();) { STDs.push_back(itmEnumerator.Current->GetSTDItemPtr()); } mPartSTD->get()->SetSTDItemsList(STDs,true); } }