| ... | ... |
@@ -142,4 +142,36 @@ class WeinanlieferungSlotsModel extends Model |
| 142 | 142 |
|
| 143 | 143 |
return (int) $this->behaelter - $intReserved; |
| 144 | 144 |
} |
| 145 |
+ |
|
| 146 |
+ public function getReservedBehaelter(?int $memberId=null, bool $exclude=false) |
|
| 147 |
+ {
|
|
| 148 |
+ /** @var Connection $db */ |
|
| 149 |
+ $db = Controller::getContainer()->get('database_connection');
|
|
| 150 |
+ |
|
| 151 |
+ $query = $db->createQueryBuilder() |
|
| 152 |
+ ->from("tl_vr_wa_reservation")
|
|
| 153 |
+ ->addSelect("SUM(behaelter)")
|
|
| 154 |
+ ->andWhere("pid = :pid");
|
|
| 155 |
+ |
|
| 156 |
+ $arrParams = ['pid'=>$this->id]; |
|
| 157 |
+ |
|
| 158 |
+ if ($memberId !== null) |
|
| 159 |
+ {
|
|
| 160 |
+ if ($exclude) |
|
| 161 |
+ {
|
|
| 162 |
+ $query->andWhere("uid != :uid");
|
|
| 163 |
+ } else |
|
| 164 |
+ {
|
|
| 165 |
+ $query->andWhere("uid = :uid");
|
|
| 166 |
+ } |
|
| 167 |
+ $arrParams['uid'] = $memberId; |
|
| 168 |
+ } |
|
| 169 |
+ |
|
| 170 |
+ $ReservedBehaelter = $query->setParameters($arrParams) |
|
| 171 |
+ ->executeQuery(); |
|
| 172 |
+ |
|
| 173 |
+ $intReserved = $ReservedBehaelter->fetchOne(); |
|
| 174 |
+ |
|
| 175 |
+ return (int) $intReserved; |
|
| 176 |
+ } |
|
| 145 | 177 |
} |