belongsTo(Cliente::class, 'cliente_id');
}
public function produto()
{
return $this->belongsTo(Produto::class, 'produto_id');
}
public function servico()
{
return $this->belongsTo(Servico::class, 'servico_id');
}
public function usuario()
{
return $this->belongsTo(User::class, 'usuario_id');
}
public function dataValidade()
{
return $this->data_venda ? Carbon::parse($this->data_venda)->addDays($this->prazo_garantia) : null;
}
public function isValida()
{
return $this->dataValidade() && now()->lte($this->dataValidade());
}
public static function estados()
{
return [
'registrada' => 'Registrada',
'em análise' => 'Em análise',
'aprovada' => 'Aprovada',
'recusada' => 'Recusada',
'concluída' => 'Concluída',
'expirada' => 'Expirada',
];
}
public function statusFormatado()
{
switch ($this->status) {
case 'registrada':
return 'Registrada';
case 'em análise':
return 'Em Análise';
case 'aprovada':
return 'Aprovada';
case 'recusada':
return 'Recusada';
case 'concluída':
return 'Concluída';
case 'expirada':
return 'Expirada';
default:
return 'Indefinido';
}
}
}