... | ... |
@@ -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 |
} |