public function createDefaultCostCenter()
{
$fixture = $this->fixture();
foreach ($fixture as $i => $c) {
$ccId = key($c);
$cc = CostCentreEntity::findPk($ccId);
if (!$cc) {
$cc = new CostCentreEntity();
$cc->ccId = $ccId;
$cc->name = sprintf('Cost center %02d', $i + 1);
$cc->save();
$cc->saveProperty(CostCentrePropertyEntity::NAME_DESCRIPTION, 'This Cost Center was added automatically.');
$cc->saveProperty(CostCentrePropertyEntity::NAME_BILLING_CODE, sprintf('CC-%02d', $i));
$cc->saveProperty(CostCentrePropertyEntity::NAME_LEAD_EMAIL, '');
$this->cadb->Execute("\n INSERT IGNORE `account_tag_values` (`account_id`, `tag_id`, `value_id`, `value_name`)\n VALUES (0, ?, ?, ?)\n ", [TagEntity::TAG_ID_COST_CENTRE, $cc->ccId, $cc->name]);
}
foreach ($fixture[$i][$ccId] as $j => $projectId) {
$pr = ProjectEntity::findPk($projectId);
if (!$pr) {
$pr = new ProjectEntity();
$pr->projectId = $projectId;
$pr->ccId = $ccId;
$pr->name = sprintf('Project %d%d', $i, $j + 1);
$pr->save();
$pr->saveProperty(ProjectPropertyEntity::NAME_DESCRIPTION, 'This Project was added automatically.');
$pr->saveProperty(ProjectPropertyEntity::NAME_BILLING_CODE, sprintf('PR-%02d-%02d', $i, $j));
$pr->saveProperty(ProjectPropertyEntity::NAME_LEAD_EMAIL, '');
$this->cadb->Execute("\n INSERT IGNORE `account_tag_values` (`account_id`, `tag_id`, `value_id`, `value_name`)\n VALUES (0, ?, ?, ?)\n ", [TagEntity::TAG_ID_PROJECT, $pr->projectId, $pr->name]);
}
}
}
}