/**
  * @param BillFormRequest         $request
  * @param BillRepositoryInterface $repository
  * @param Bill                    $bill
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function update(BillFormRequest $request, BillRepositoryInterface $repository, Bill $bill)
 {
     $billData = $request->getBillData();
     $bill = $repository->update($bill, $billData);
     Session::flash('success', 'Bill "' . e($bill->name) . '" updated.');
     Preferences::mark();
     if (intval(Input::get('return_to_edit')) === 1) {
         // set value so edit routine will not overwrite URL:
         Session::put('bills.edit.fromUpdate', true);
         return redirect(route('bills.edit', [$bill->id]))->withInput(['return_to_edit' => 1]);
     }
     // redirect to previous URL.
     return redirect(Session::get('bills.edit.url'));
 }