Proyectos de Subversion LeadersLinked - Services

Rev

Rev 283 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Mapper;
6
 
7
use Laminas\Db\Adapter\AdapterInterface;
8
use LeadersLinked\Model\User;
9
use LeadersLinked\Mapper\Common\MapperCommon;
10
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
11
use LeadersLinked\Model\UserDeleted;
12
use Google\Service\PeopleService\UserDefined;
13
 
14
class UserDeletedMapper extends MapperCommon
15
{
16
    const _TABLE = 'tbl_users_deleted';
17
 
18
    /**
19
     *
20
     * @var UserMapper
21
     */
22
    private static $_instance;
23
 
24
    /**
25
     *
26
     * @param AdapterInterface $adapter
27
     */
28
    private function __construct($adapter)
29
    {
30
        parent::__construct($adapter);
31
    }
32
 
33
    /**
34
     *
35
     * @param AdapterInterface $adapter
36
     * @return UserDeletedMapper
37
     */
38
    public static function getInstance($adapter)
39
    {
40
        if(self::$_instance == null) {
41
            self::$_instance = new UserDeletedMapper($adapter);
42
        }
43
        return self::$_instance;
44
    }
45
 
46
 
47
    /**
48
     *
49
     * @param int $id
50
     * @return User
51
     */
52
    public function fetchOne($id)
53
    {
54
        $prototype = new UserDeleted();
55
        $select = $this->sql->select(self::_TABLE);
56
        $select->where->equalTo('id', $id);
57
 
58
        return $this->executeFetchOneObject($select, $prototype);
59
    }
60
 
61
 
62
 
63
    /**
64
     *
65
     * @param string $email
66
     * @return  UserDeleted[]
67
     */
68
    public function fetchAllByEmail($email)
69
    {
70
        $prototype = new  UserDeleted();
71
        $select = $this->sql->select(self::_TABLE);
72
        $select->where->equalTo('email', $email);
73
 
74
 
75
        return $this->executeFetchOneObject($select, $prototype);
76
    }
77
 
78
 
79
 
80
 
81
    /**
82
     *
83
     * @param UserDeleted $userDeleted
84
     * @return boolean
85
     */
86
    public function update( $userDeleted)
87
    {
88
        $hydrator = new ObjectPropertyHydrator();
89
        $values = $hydrator->extract($userDeleted);
90
        $values = $this->removeEmpty($values);
91
 
92
        $update = $this->sql->update(self::_TABLE);
93
        $update->set($values);
94
        $update->where->equalTo('id', $userDeleted->id);
95
 
96
        return $this->executeUpdate($update);
97
    }
98
 
99
 
100
 
101
    /**
102
     *
103
     * @param UserDeleted $userDeleted
104
     * @return boolean
105
     */
106
    public function insert($userDeleted)
107
    {
108
 
109
        $hydrator = new ObjectPropertyHydrator();
110
        $values = $hydrator->extract($userDeleted);
111
        $values = $this->removeEmpty($values);
112
 
113
        $insert = $this->sql->insert(self::_TABLE);
114
        $insert->values($values);
115
 
116
        $response = $this->executeInsert($insert);
117
        if($response) {
118
            $userDeleted->id = $this->lastInsertId;
119
        }
120
 
121
        return $response;
122
    }
123
 
124
 
125
 
126
 
127
 
128
}