Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 www 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Mapper;
6
 
7
use Laminas\Db\Adapter\AdapterInterface;
8
use LeadersLinked\Hydrator\ObjectPropertyHydrator;
9
use LeadersLinked\Mapper\Common\MapperCommon;
10
use LeadersLinked\Model\MeetingFile;
11
 
12
class MeetingFilesMapper extends MapperCommon
13
{
14
 
15
    const _TABLE = 'tbl_meeting_files';
16
 
17
    /**
18
     *
19
     * @var MeetingFilesMapper
20
     */
21
    private static $_instance;
22
 
23
    /**
24
     *
25
     * @param AdapterInterface $adapter
26
     */
27
     private function  __construct($adapter)
28
     {
29
         parent::__construct($adapter);
30
     }
31
 
32
     /**
33
      *
34
      * @param AdapterInterface $adapter
35
      * @return MeetingFilesMapper
36
      */
37
      public static function getInstance($adapter)
38
      {
39
          if (self::$_instance == null) {
40
              self::$_instance = new MeetingFilesMapper($adapter);
41
          }
42
 
43
          return self::$_instance;
44
      }
45
 
46
      /**
47
     *
48
     * @param MeetingFile $meetingFile
49
     * @return boolean
50
     */
51
    public function insert($meetingFile)
52
    {
53
        $hydrator = new ObjectPropertyHydrator();
54
        $values = $hydrator->extract($meetingFile);
55
        $values = $this->removeEmpty($values);
56
 
57
        $insert = $this->sql->insert(self::_TABLE);
58
        $insert->values($values);
59
 
60
        $response = $this->executeInsert($insert);
61
        if($response) {
62
            $meetingFile->id = $this->lastInsertId;
63
        }
64
 
65
        return $response;
66
    }
67
 
68
     /**
69
     *
70
     * @param int meeting_id
71
     * @return boolean
72
     */
73
    public function changeFilesStatusToDeletedByMeetingId($meeting_id)
74
    {
75
        $update = $this->sql->update(self::_TABLE);
76
        $update->set(['status' => MeetingFile::STATUS_DELTED]);
77
        $update->where->equalTo('meeting_id', $meeting_id);
78
        return $this->executeUpdate($update);
79
    }
80
 
81
}