/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     // create a new listing
     $vendor = new Vendor();
     $vendor->name = $request->name;
     $vendor->email = $request->email;
     $vendor->business = $request->business;
     $vendor->phone = $request->phone;
     $vendor->rent = $request->rent;
     $vendor->rate = $request->rate;
     $vendor->status = $request->status;
     $vendor->notes = $request->notes;
     $vendor->email_notification = $request->email_notification;
     $vendor->touch();
     // sync codes
     if ($request->codes) {
         $newCodes = array();
         $codes = array();
         foreach ($request->codes as $code) {
             array_push($newCodes, $code['name']);
             $code['vendor_id'] = $vendor->id;
             $code = Code::firstOrCreate($code);
             array_push($codes, $code);
         }
         foreach ($codes as $code) {
             if (!in_array($code['name'], $newCodes)) {
                 $code->delete();
             }
         }
     }
     return response(Vendor::with(['codes'])->find($vendor->id), 200);
 }