/** * Clone MailDraft from another MailDraft. * * @param draft Point to source for draft cloning. */ void MailDraft::CloneFrom(MailDraft const& draft) { m_mailTemplateId = draft.GetMailTemplateId(); m_mailTemplateItemsNeed = draft.m_mailTemplateItemsNeed; m_subject = draft.GetSubject(); m_body = draft.GetBody(); m_money = draft.GetMoney(); m_COD = draft.GetCOD(); for (MailItemMap::const_iterator mailItemIter = draft.m_items.begin(); mailItemIter != draft.m_items.end(); ++mailItemIter) { Item* item = mailItemIter->second; if (Item* newitem = item->CloneItem(item->GetCount())) { newitem->SaveToDB(); AddItem(newitem); } } }