/**
  *  Validates and stores the new asset maintenance
  *
  * @see AssetMaintenancesController::getCreate() method for the form
  * @author  Vincent Sposato <*****@*****.**>
  * @version v1.0
  * @since [v1.8]
  * @return mixed
  */
 public function postCreate()
 {
     // get the POST data
     $new = Input::all();
     // create a new model instance
     $assetMaintenance = new AssetMaintenance();
     if (e(Input::get('supplier_id')) == '') {
         $assetMaintenance->supplier_id = null;
     } else {
         $assetMaintenance->supplier_id = e(Input::get('supplier_id'));
     }
     if (e(Input::get('is_warranty')) == '') {
         $assetMaintenance->is_warranty = 0;
     } else {
         $assetMaintenance->is_warranty = e(Input::get('is_warranty'));
     }
     if (e(Input::get('cost')) == '') {
         $assetMaintenance->cost = '';
     } else {
         $assetMaintenance->cost = e(Input::get('cost'));
     }
     if (e(Input::get('notes')) == '') {
         $assetMaintenance->notes = null;
     } else {
         $assetMaintenance->notes = e(Input::get('notes'));
     }
     $asset = Asset::find(e(Input::get('asset_id')));
     if (!Company::isCurrentUserHasAccess($asset)) {
         return static::getInsufficientPermissionsRedirect();
     }
     // Save the asset maintenance data
     $assetMaintenance->asset_id = e(Input::get('asset_id'));
     $assetMaintenance->asset_maintenance_type = e(Input::get('asset_maintenance_type'));
     $assetMaintenance->title = e(Input::get('title'));
     $assetMaintenance->start_date = e(Input::get('start_date'));
     $assetMaintenance->completion_date = e(Input::get('completion_date'));
     $assetMaintenance->user_id = Auth::user()->id;
     if ($assetMaintenance->completion_date == "" || $assetMaintenance->completion_date == "0000-00-00") {
         $assetMaintenance->completion_date = null;
     }
     if ($assetMaintenance->completion_date !== "" && $assetMaintenance->completion_date !== "0000-00-00" && $assetMaintenance->start_date !== "" && $assetMaintenance->start_date !== "0000-00-00") {
         $startDate = Carbon::parse($assetMaintenance->start_date);
         $completionDate = Carbon::parse($assetMaintenance->completion_date);
         $assetMaintenance->asset_maintenance_time = $completionDate->diffInDays($startDate);
     }
     // Was the asset maintenance created?
     if ($assetMaintenance->save()) {
         // Redirect to the new asset maintenance page
         return redirect()->to("admin/asset_maintenances")->with('success', trans('admin/asset_maintenances/message.create.success'));
     }
     return redirect()->back()->withInput()->withErrors($assetMaintenance->getErrors());
 }