public function addSeason() { if (Auth::check()) { $inputs = Input::all(); //calculating for week startdate and endate mon-sun $startdate = Carbon::createFromFormat('m/d/Y', $inputs['startdate']); $startdate = $startdate->startOfWeek(); $enddate = Carbon::createFromFormat('m/d/Y', $inputs['enddate']); $enddate = $enddate->endofWeek(); //calculating for total sessions for selected days and getting data to insert to seasons $sessionno = $enddate->diffInHours($startdate); $sessionno = (floor($sessionno / 24) + 1) / 7; $adddata['startdate'] = $startdate->toDateString(); $adddata['enddate'] = $enddate->toDateString(); $adddata['seasonType'] = $inputs['seasonType']; $adddata['sessionno'] = $sessionno; $adddata['franchisee_id'] = Session::get('franchiseId'); $franchise_data = Franchisee::where('id', '=', $adddata['franchisee_id'])->get(); //getting data for inserting new season no $season_no = Seasons::where('franchisee_id', '=', $adddata['franchisee_id'])->max('season_no'); $adddata['season_name'] = $franchise_data[0]['franchisee_name'] . ' ' . 'Season' . ' ' . ($season_no + 1) . '-' . $inputs['seasonType']; $adddata['season_no'] = $season_no + 1; //adding the new season to season table $season_id = Seasons::addSeason($adddata); $season_data = Seasons::where('id', '=', $season_id)->get(); $season_data = $season_data[0]; // adding data to location table $location_data = Location::addLocation($inputs['location'], $season_id); // $season_data['discount_second_child']=$inputs['secondchilddiscount']; // $season_data['discount_second_class']=$inputs['secondclassdiscount']; //adding data to discount table and calculating holidays session // $discount_data=Discounts::createDiscountForSeason($season_data); $holiday; if ($inputs['title'][0] != '') { for ($i = 0; $i < count($inputs['title']); $i++) { $startdate = Carbon::createFromFormat('m/d/Y', $inputs['holidaystartdate'][$i]); $enddate = Carbon::createFromFormat('m/d/Y', $inputs['holidayenddate'][$i]); $startdate = $startdate->startOfWeek(); $enddate = $enddate->endofWeek(); $holiday[$i]['startdate'] = $startdate->toDateString(); $holiday[$i]['enddate'] = $enddate->toDateString(); $holiday[$i]['title'] = $inputs['title'][$i]; $sessionno = $enddate->diffInHours($startdate); $sessionno = (floor($sessionno / 24) + 1) / 7; $holiday[$i]['holidaysession'] = $sessionno; } //adding data to holiday table $holiday_data = Holidays::addSeasonHolidays($holiday, $season_data); //Calculating and updating back to seasons table $total_session = $adddata['sessionno']; $totalholiday = 0; foreach ($holiday as $vacation) { $totalholiday += $vacation['holidaysession']; } $seasonupdate = Seasons::find($season_id); $seasonupdate->session_no = $season_data['session_no'] - $totalholiday; $seasonupdate->save(); if ($seasonupdate) { return Response::json(array('status' => 'success', 'startdate' => $season_data['start_date'], 'enddate' => $season_data['end_date'], 'sessionafterholidays' => $season_data['session_no'] - $totalholiday)); } } else { if ($season_data) { $seasonupdate = Seasons::find($season_id); return Response::json(array('status' => 'success', 'startdate' => $season_data['start_date'], 'enddate' => $season_data['end_date'], 'sessionafterholidays' => $season_data['session_no'])); } else { return Response::json(array('status' => 'failure')); } } } }