Completed
Push — master ( af42cb...3888f0 )
by Julito
13:17
created

TrackECourseAccessRepository   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 9
dl 0
loc 27
rs 10
c 0
b 0
f 0
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A getLastAccessByUser() 0 17 3
1
<?php
2
/* For licensing terms, see /license.txt */
3
4
namespace Chamilo\CoreBundle\Repository;
5
6
use Chamilo\CoreBundle\Entity\TrackECourseAccess;
7
use Chamilo\UserBundle\Entity\User;
8
use Doctrine\ORM\EntityRepository;
9
10
/**
11
 * TrackECourseAccessRepository.
12
 *
13
 * @package Chamilo\CoreBundle\Repository
14
 *
15
 * @author Angel Fernando Quiroz Campos <[email protected]>
16
 */
17
class TrackECourseAccessRepository extends EntityRepository
18
{
19
    /**
20
     * Get the last registered access by an user.
21
     *
22
     * @param User $user The user
23
     *
24
     * @return TrackECourseAccess The access if exists.
25
     *                            Otherwise return null
26
     */
27
    public function getLastAccessByUser(User $user)
28
    {
29
        if (empty($user)) {
30
            return null;
31
        }
32
33
        $lastAccess = $this->findBy(
34
            ['userId' => $user->getId()],
35
            ['courseAccessId' => 'DESC'],
36
            1
37
        );
38
39
        if (!empty($lastAccess)) {
40
            return $lastAccess[0];
41
        }
42
43
        return null;
44
    }
45
}
46