File: /home/imensosw/www/mpl.imenso.co/app/Models/VenueAvailabilityPreference.php
<?php
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
class VenueAvailabilityPreference extends Model
{
public static function put(Request $request)
{
$preference = self::where('venue_id', \Auth::user()->id)->first();
if ($preference == null) {
$preference = new self;
$preference->venue_id = \Auth::user()->id;
}
$preference->curfew_at = Carbon::parse(Carbon::now()->format('Y-m-d').' '.$request->curfew);
$preference->doors_at = Carbon::parse(Carbon::now()->format('Y-m-d').' '.$request->doors);
$preference->capacity = $request->capacity;
$preference->multiple_rooms = $request->multiple_rooms;
$preference->max_bands = $request->max_bands;
$preference->hire_cost = $request->hire_cost;
if ($request->hire_cost != 'Yes') {
$preference->hire_amount = null;
} else {
$preference->hire_amount = $request->hire_amount;
}
$preference->merchandise_charge = $request->merchandise_charge;
$preference->dressing_rooms = $request->dressing_rooms;
$preference->lighting = $request->lighting;
$preference->vinyl_decks = $request->vinyl_decks;
$preference->internal_promotion = $request->internal_promotion;
$preference->age_limit = $request->age_limit;
$preference->parking = $request->parking;
$preference->parking_details = $request->parking_details;
$preference->catering = $request->catering;
$preference->box_office = $request->box_office;
$preference->wifi = $request->wifi;
$preference->guest_list_allowance = $request->guest_list_allowance;
$preference->bio = $request->bio;
$preference->pa_included = $request->pa_included;
$preference->cost_per_security = $request->cost_per_security;
$preference->save();
$preference->promoter_preference = $request->promoter_preference;
foreach (VenueAvailabilityPreferencePromoter::where('preference_id', $preference->id)->get() as $vp) {
$vp->remove();
}
if ($request->promoter_preference == 1 && isset($request->promoter)) {
$preference->promoter_preference = 1;
$promoters = $request->promoter;
foreach ($promoters as $k => $p) {
VenueAvailabilityPreferencePromoter::addnew($k, $preference->id);
}
}
$preference->genre_preference = 0;
foreach (VenueAvailabilityPreferenceGenre::where('preference_id', $preference->id)->get() as $vg) {
$vg->remove();
}
if ($request->genre_preference == 1 && isset($request->genres)) {
$preference->genre_preference = 1;
$genres = explode(':', $request->genres);
foreach ($genres as $g) {
VenueAvailabilityPreferenceGenre::addnew($g, $preference->id);
}
}
$preference->save();
}
}