<?php

namespace App\Cells\Customer;

use App\Services\Customer\PaymentService;
use App\Services\Customer\ServiceService;

class ServiceCell extends CustomerCell
{
  public function __construct()
  {
    parent::__construct(new ServiceService());
  }

  public function detail(array $params): string
  {
    $this->getService()->setAction(__FUNCTION__);
    $this->getService()->setFormFields();
    $this->getService()->setFormFilters();
    $this->getService()->setFormRules();
    $this->getService()->setFormOptions();
    $entities = $this->getService()->getEntities(['clientinfo_uid' => $params['userinfo_uid']]);
    $template = array_key_exists('template', $params) ? $params['template'] : __FUNCTION__;
    return view('cells/service/' . $template, [
      'serviceCellDatas' => [
        'control' => $this->getService()->getControlDatas(),
        'service' => $this->getService(),
        'entities' => $entities,
        'paymentService' => new PaymentService()
      ]
    ]);
  }
}
