/**
  * @param DemoDataHelper $demoDataHelper
  */
 public function makeAll(&$demoDataHelper)
 {
     assert('$demoDataHelper instanceof DemoDataHelper');
     assert('$demoDataHelper->isSetRange("Contact")');
     assert('$demoDataHelper->isSetRange("MarketingList")');
     $members = array();
     foreach (MarketingList::getAll() as $marketingList) {
         foreach (Contact::getAll() as $contact) {
             $interval = mt_rand(1, 30) * 86400;
             $member = new MarketingListMember();
             $member->setScenario('importModel');
             $member->createdDateTime = DateTimeUtil::convertTimestampToDbFormatDateTime(time() - $interval);
             $member->contact = $contact;
             $member->marketingList = $marketingList;
             $this->populateModel($member);
             $saved = $member->unrestrictedSave();
             assert('$saved');
             $members[] = $member->id;
         }
     }
     $demoDataHelper->setRangeByModelName('MarketingListMember', $members[0], $members[count($members) - 1]);
 }
 public function addNewMember($contactId, $unsubscribed = false, $contact = null, $scenario = null)
 {
     $member = new MarketingListMember();
     if (empty($contact)) {
         $contact = Contact::getById($contactId);
     }
     $member->contact = $contact;
     $member->unsubscribed = $unsubscribed;
     $member->marketingList = $this;
     if (isset($scenario)) {
         $member->setScenario($scenario);
     }
     if ($this->memberAlreadyExists($contact->id)) {
         return false;
     }
     return $member->unrestrictedSave();
 }
 private function createMarketingListMember($contact, $createdDateTime)
 {
     $marketingListMember = new MarketingListMember();
     $marketingListMember->setScenario('importModel');
     $marketingListMember->unsubscribed = false;
     $marketingListMember->contact = $contact;
     $marketingListMember->marketingList = $this->marketingList;
     $marketingListMember->createdDateTime = DateTimeUtil::convertTimestampToDbFormatDateTime(strtotime($createdDateTime));
     $this->assertTrue($marketingListMember->unrestrictedSave());
     return $marketingListMember;
 }