/** * API * * Update bill item fee * * @SecureParam(name="billItem", permissions="CHANGE_FEE") * @ParamConverter("billItem", class="WealthbotClientBundle:BillItem") * @param \Wealthbot\ClientBundle\Entity\BillItem $billItem * @param \Symfony\Component\HttpFoundation\Request $request * @return JsonResponse */ public function updateFeeAction(BillItem $billItem, Request $request) { /** @var \Doctrine\ORM\EntityManager $em */ $em = $this->container->get('doctrine.orm.entity_manager'); $feeBilled = (double) $request->get('feeBilled', 0); $feeCollected = (double) $request->get('feeCollected', 0); $billItem->setFeeBilled($feeBilled)->setFeeCollected($feeCollected); $em->persist($billItem); $em->flush(); return new JsonResponse(array(), 200); }
public function createBill(User $user, $dateStr, ObjectManager $manager) { $date = new \DateTime($dateStr); $period = $this->periodManager->getPreviousQuarter($date); $accounts = $user->getClientAccounts(); $bill = new Bill(); $bill->setCreatedAt(new \DateTime($dateStr)); $bill->setClient($user); $bill->setYear($period['year']); $bill->setQuarter($period['quarter']); $manager->persist($bill); foreach ($accounts as $account) { $systemAccount = $account->getSystemAccount(); if ($systemAccount) { $billItem = new BillItem(); $billItem->setSystemAccount($systemAccount); $billItem->setBill($bill); $billItem->setFeeBilled($this->feeManager->getRiaFee($account, $period['year'], $period['quarter'])); $billItem->setCreatedAt(new \DateTime($dateStr)); $manager->persist($billItem); } } $manager->flush(); }
public function removeBillItem(BillItem $billItem) { $this->billItems->removeElement($billItem); return $this; }
/** * @param BillItem $billItem * @param bool $flush */ public function setNoBill(BillItem $billItem, $flush = false) { $billItem->setStatus(BillItem::STATUS_WILL_NOT_BILL); $billItem->setRiaFee(0); $billItem->setAdminFee(0); $billItem->setFeeBilled(0); $billItem->setFeeCollected(0); $this->em->persist($billItem); $flush && $this->em->flush(); }