/** * @Given These expense lines exist */ public function TheseExpensesExist(TableNode $table) { // get any fully persisted user foreach ($table->getHash() as $hash) { $line = new Expense(); foreach ($hash as $key => $val) { $setter = 'set' . ucfirst($key); $val = $this->convertExpense($key, $val); $line->{$setter}($val); } $line->setUser('test-user'); $this->em->persist($line); $this->expenses[] = $line; } $this->em->flush(); }
/** * Update existing expense from the submitted data or create a new expense at a specific location. * * @ApiDoc( * resource = true, * input = "AppBundle\Form\ExpenseType", * statusCodes = { * 201 = "Returned when a new resource is created", * 204 = "Returned when successful", * 400 = "Returned when the form has errors" * } * ) * * @Annotations\View( * template="AppBundle:Expense:editExpense.html.twig", * templateVar="form" * ) * * @param Request $request the request object * @param int $id the expense id * * @return FormTypeInterface|RouteRedirectView * * @throws NotFoundHttpException when expense not exist */ public function putExpenseAction(Request $request, $id) { $expense = $this->getExpenseManager()->get($id); if (false === $expense) { $expense = new Expense(); $expense->id = $id; $statusCode = Codes::HTTP_CREATED; } else { $statusCode = Codes::HTTP_NO_CONTENT; } $e = $this->get('request')->request->all(); $dateName = 'created_at'; if (isset($e[$dateName])) { $expense->setcreatedAt($e[$dateName]); } if (isset($e['description'])) { $expense->setDescription($e['description']); } if (isset($e['amount'])) { $expense->setAmount($e['amount']); } if (isset($e['comment'])) { $expense->setComment($e['comment']); } $userApp = $this->get('app.user'); $expense->setUser($userApp->getUserId()); $this->getExpenseManager()->set($expense); return $this->routeRedirectView('get_expense', array('id' => $expense->getId()), $statusCode); #$form = $this->createForm(new ExpenseType(), $expense); // $form->submit($request); // if ($form->isValid()) { //} return $form; }
public function set(Expense $expense) { $expense->setUser($this->userApp->getUserId()); //#dump($expense); return $this->repo->save($expense); }
public function createExpense(DateTime $date, $amount, $desc, $comment) { $expense = new Expense(); $expense->setUser($this->u)->setCreatedAt($date)->setDescription($desc)->setAmount($amount)->setComment($comment); return $expense; }