/**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     try {
         DB::beginTransaction();
         $request->merge(array('delivery_timestamp' => date('Y-m-d', strtotime(str_replace('/', '-', $request->get('delivery_timestamp'))))));
         if ($request->get('estimated_price') != null) {
             $request->merge(array('estimated_price' => doubleval(str_replace(',', '.', str_replace('.', '', $request->get('estimated_price'))))));
         }
         if ($request->get('payment_value') != null) {
             $request->merge(array('payment_value' => doubleval(str_replace(',', '.', str_replace('.', '', $request->get('payment_value'))))));
         }
         dd($request->all());
         $validator = (new CakeRequest())->validate($request->all());
         if ($validator->fails()) {
             throw new \Exception('Erro na validação dos dados', 500);
         }
         $cakeRequest = (new CakeRequest())->put($request->all(), $id);
         if (boolval($request->has('cake_image'))) {
             $urlCakeImage = CakeRequest::uploadCakeImage($request->file('cake_image'));
             if ($urlCakeImage != null) {
                 $cakeRequest->cake_image = $urlCakeImage;
             }
         }
         if (!$cakeRequest->save()) {
             throw new \Exception('Não foi possível salvar o pedido', 500);
         }
         DB::commit();
         return redirect('/admin/cake-requests/' . $id);
     } catch (\Exception $e) {
         DB::rollBack();
         dd($e);
         return redirect()->back();
     }
 }