Code Duplication    Length = 12-16 lines in 2 locations

src/sale/SaleRepository.php 2 locations

@@ 32-47 (lines=16) @@
29
    /** {@inheritdoc} */
30
    public $queryClass = SaleQuery::class;
31
32
    public function findId(SaleInterface $sale)
33
    {
34
        if ($sale->hasId()) {
35
            return $sale->getId();
36
        }
37
        $hstore = new HstoreExpression(array_filter([
38
            'buyer'     => $sale->getCustomer()->getLogin(),
39
            'buyer_id'  => $sale->getCustomer()->getId(),
40
            'object_id' => $sale->getTarget()->getId(),
41
            'tariff_id' => $sale->getPlan()->getId(),
42
        ]));
43
        $call = new CallExpression('sale_id', [$hstore]);
44
        $command = (new Query())->select($call);
45
46
        return $command->scalar($this->db);
47
    }
48
49
    /**
50
     * @param OrderInterface $order
@@ 116-127 (lines=12) @@
113
    /**
114
     * @param SaleInterface $sale
115
     */
116
    public function save(SaleInterface $sale)
117
    {
118
        $hstore = new HstoreExpression([
119
            'object_id'     => $sale->getTarget()->getId(),
120
            'contact_id'    => $sale->getCustomer()->getId(),
121
            'tariff_id'     => $sale->getPlan() ? $sale->getPlan()->getId() : null,
122
            'time'          => $sale->getTime()->format('c'),
123
        ]);
124
        $call = new CallExpression('sale_object', [$hstore]);
125
        $command = (new Query())->select($call);
126
        $sale->setId($command->scalar($this->db));
127
    }
128
}
129