Completed
Pull Request — master (#16)
by
unknown
02:37
created

UserWithPasswordDataTransferObject::fromUser()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 3
Bugs 1 Features 0
Metric Value
c 3
b 1
f 0
dl 0
loc 11
rs 9.4285
cc 1
eloc 8
nc 1
nop 1
1
<?php
2
3
namespace SumoCoders\FrameworkMultiUserBundle\DataTransferObject;
4
5
use SumoCoders\FrameworkMultiUserBundle\User\User;
6
use SumoCoders\FrameworkMultiUserBundle\User\UserWithPassword;
7
8
class UserWithPasswordDataTransferObject implements UserDataTransferObject
9
{
10
    /**
11
     * @var int
12
     */
13
    public $id;
14
15
    /**
16
     * @var string
17
     */
18
    public $userName;
19
20
    /**
21
     * @var string
22
     */
23
    public $displayName;
24
25
    /**
26
     * @var string
27
     */
28
    public $email;
29
30
    /**
31
     * @var string
32
     */
33
    public $plainPassword;
34
35
    /**
36
     * @var User
37
     */
38
    private $user;
39
40
    /**
41
     * @param User $user
42
     *
43
     * @return User
44
     */
45
    public static function fromUser(User $user)
46
    {
47
        $baseUserTransferObject = new self();
48
        $baseUserTransferObject->user = $user;
49
        $baseUserTransferObject->id = $user->getId();
50
        $baseUserTransferObject->userName = $user->getUsername();
51
        $baseUserTransferObject->displayName = $user->getDisplayName();
52
        $baseUserTransferObject->email = $user->getEmail();
53
54
        return $baseUserTransferObject;
55
    }
56
57
    /**
58
     * @return UserWithPassword
59
     */
60
    public function getEntity()
61
    {
62
        $this->user->change($this);
63
64
        return $this->user;
65
    }
66
}
67