Completed
Push — master ( 4762fe...4246d1 )
by
unknown
01:30
created

Lead   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 7
lcom 0
cbo 1
dl 0
loc 46
rs 10
c 1
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A create() 0 6 1
B exists() 0 23 6
1
<?php
2
3
namespace Surge\LaravelSalesforce\Objects;
4
5
class Lead extends AbstractObject
6
{
7
    /**
8
     * Insert new lead.
9
     *
10
     * @param $params
11
     */
12
    public function create(array $params)
13
    {
14
        $params['RecordTypeId'] = config('laravel-salesforce.record_type.lead');
15
16
        return parent::create($params);
17
    }
18
19
    /**
20
     * Check if lead already exists on SF.
21
     *
22
     * @param string $phone
23
     * @param string $email
24
     *
25
     * @return bool|array
26
     */
27
    public function exists($phone = null, $email = null)
28
    {
29
        //return false if not enough data provided
30
        if ($email === null && $phone === null) {
31
            return false;
32
        }
33
34
        if ($email !== null) {
35
            $query = 'SELECT Id, OwnerId  FROM ' . $this->getType() . ' WHERE Email = \'' . addslashes(trim($email)) . '\'';
36
        } else {
37
            $query = 'SELECT Id, OwnerId  FROM ' . $this->getType() . ' WHERE Phone = \'' . addslashes(trim($phone)) . '\'';
38
        }
39
40
        $query .= ' AND RecordTypeId = \'' . config('laravel-salesforce.record_type.lead') . '\'';
41
42
        $response = $this->query($query);
43
44
        if ($response && $response->totalSize > 0) {
45
            return array_shift($response->records);
46
        }
47
48
        return false;
49
    }
50
}
51