/**
  * @author SL
  * @param string $id
  * @param EmailApplicationService $emailApplicationService
  * @param Request $request
  * @return string
  */
 public function previewEmail($id, EmailApplicationService $emailApplicationService, Request $request)
 {
     $installation = $this->fetchInstallation($id);
     $templateHelper = EmailConfigurationTemplateHelper::makeFromJson($installation->email_configuration);
     $name = $templateHelper->has('retailer_name') ? $templateHelper->get('retailer_name') : $installation->name;
     try {
         return $emailApplicationService->getView(TemplatesController::fetchDefaultTemplateForInstallation($installation), array_merge(['installation_logo' => $installation->custom_logo_url, 'customer_title' => 'Title', 'customer_last_name' => 'Surname', 'installation_name' => $name, 'order_description' => 'Example Order from ' . $name, 'payment_regular' => 0, 'apply_url' => '#', 'payments' => 0, 'order_amount' => 0, 'deposit_amount' => 0, 'loan_amount' => 0, 'total_repayment' => 0, 'offered_rate' => 0, 'apr' => 0, 'loan_cost' => 0], $templateHelper->toArray(), $request->all()));
     } catch (\Exception $e) {
         return view('emails.applications.blank')->with('content', 'Problem rendering template');
     }
 }
 /**
  * @author EB
  * @param Application $application
  * @return Application
  * @throws RedirectException
  */
 private function sendApplicationEmail(Application $application)
 {
     try {
         $this->emailApplicationService->sendDefaultApplicationEmail($application, TemplatesController::fetchDefaultTemplateForInstallation($application->installation), array_merge(EmailTemplateEngine::getEmailTemplateFields($application), $this->applicationSynchronisationService->getCreditInfoForApplication($application->id), ['template_footer' => $application->installation->getDefaultTemplateFooterAsHtml(), 'installation_name' => $application->installation->name, 'installation_logo' => $application->installation->custom_logo_url, 'apply_url' => $application->ext_resume_url], EmailConfigurationTemplateHelper::makeFromJson($application->installation->email_configuration)->toArray()));
         ApplicationEvent\ApplicationEventHelper::addEvent($application, ApplicationEvent::TYPE_RESUME_EMAIL, Auth::user());
     } catch (\Exception $e) {
         throw $this->redirectWithException('installations/' . $application->installation->id . '/applications/' . $application->id, 'Unable to send Application via Email: ' . $e->getMessage(), $e);
     }
     return $application;
 }