Scalr\Stats\CostAnalytics\Usage::createDefaultCostCenter PHP Метод

createDefaultCostCenter() публичный Метод

Creates default Cost Center and Project from the fixture
    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]);
                }
            }
        }
    }