apollodec/Apollo/api/application/models/SeesionSchedule_model.php
2018-02-13 12:20:28 +05:30

174 lines
6.1 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: karthi
* Date: 2/7/18
* Time: 10:44 AM
*/
defined('BASEPATH') OR exit('No direct script access allowed');
class SeesionSchedule_model extends CI_Model {
/*
* Add session master details
* created by kms
* */
public function addSessionScheduel($arrayDetails=null,$Timings=null)
{
$this->db->select('SCDate');
$this->db->where('SCDate', $arrayDetails['SCDate']);
$this->db->where('SessionID', $arrayDetails['SessionID']);
if($this->db->get(SESSIONSCHEDULE)->first_row()){
$result['sessionStatus'] = false;
$result['message'] ="This same session/date is already exist.";
}
else{
$insertMaster['SCDate']=$arrayDetails['SCDate'];
$insertMaster['SessionID']=$arrayDetails['SessionID'];
$insertMaster['CreatedBy']=$arrayDetails['CreatedBy'];
$insertMaster['IsActive']=$arrayDetails['IsActive'];
$insertMaster['CreatedOn']=$arrayDetails['CreatedOn'];
$this->db->insert(SESSIONSCHEDULE, $insertMaster);
if ($this->db->affected_rows() == '1') {
$insertDetails['SessionID']=$this->db->insert_id();
foreach ($Timings['Timings'] as $row1){
$insertDetails['StartTime']=$row1['startTime'];
$insertDetails['EndTime']=$row1['endTime'];
$insertDetails['CreatedBy']=$arrayDetails['CreatedBy'];
$insertDetails['IsActive']=$arrayDetails['IsActive'];
$insertDetails['CreatedOn']=$arrayDetails['CreatedOn'];
$this->db->insert(SESSIONSCHEDULEDETAILS, $insertDetails);
}
$result['sessionStatus'] = true;
$result['message'] = "Schedules added successfully";
} else {
$result['sessionStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
}
return $result;
}
/*
* Get session master details
* created by kms
* */
public function getSessionSchedule()
{
$this->db->select('SS.SCID,SM.SessionName,SM.SessionID,SS.IsActive,SS.SCDate,GROUP_CONCAT(SD.StartTime) as StartTime,GROUP_CONCAT(SD.EndTime) as EndTime,GROUP_CONCAT(SD.SSD) as ScheduleID');
$this->db->from(SESSIONSCHEDULEDETAILS.' as SD');
$this->db->join(SESSIONSCHEDULE.' as SS', 'SS.SCID = SD.SessionID');
$this->db->join(SESSIONMASTER.' as SM', 'SM.SessionID = SS.SessionID');
$this->db->where('SM.IsActive','1');
$this->db->group_by('SS.SCID','DESC');
$sessionDetails = $this->db->get();
if($sessionDetails->result()){
$result['sessionStatus'] = true;
$result['details'] = $sessionDetails->result();
}
else {
$result['sessionStatus'] = false;
$result['message'] = "No records found!";
}
$result['sessionMaster'] = $this->getSessionMasterDetails();
return $result;
}
/*
* update session schedule details
* created by kms
* */
public function updateSessionSchedule($arrayDetails=null,$Timings=null)
{
$this->db->select('SessionID');
$this->db->where('SessionID', $arrayDetails['SessionID']);
$this->db->where('SCDate', $arrayDetails['SCDate']);
$this->db->where('SCID !=', $arrayDetails['SCID']);
if($this->db->get(SESSIONSCHEDULE)->first_row()){
$result['sessionStatus'] = false;
$result['message'] ="This same session/date is already exist.";
}
else{
$this->db->where('SCID', $arrayDetails['SCID']);
$upateStatus=$this->db->update(SESSIONSCHEDULE, $arrayDetails);
if($upateStatus){
if($Timings['Timings']){
foreach ($Timings['Timings'] as $urow){
if($urow['scheduleID']==''){
$insertDetails['SessionID']=$arrayDetails['SCID'];
$insertDetails['StartTime']=$urow['startTime'];
$insertDetails['EndTime']=$urow['endTime'];
$insertDetails['IsActive']=$arrayDetails['IsActive'];
$insertDetails['CreatedBy']=$arrayDetails['UpdatedBy'];
$insertDetails['CreatedOn']=$arrayDetails['UpdatedOn'];
$this->db->insert(SESSIONSCHEDULEDETAILS, $insertDetails);
}
else{
$updateDetails['SessionID']=$arrayDetails['SCID'];
$updateDetails['StartTime']=$urow['startTime'];
$updateDetails['EndTime']=$urow['endTime'];
$updateDetails['IsActive']=$arrayDetails['IsActive'];
$updateDetails['UpdatedBy']=$arrayDetails['UpdatedBy'];
$updateDetails['UpdatedOn']=$arrayDetails['UpdatedOn'];
$this->db->where('SSD',$urow['scheduleID']);
$this->db->where('SessionID',$arrayDetails['SCID']);
$this->db->update(SESSIONSCHEDULEDETAILS, $updateDetails);
}
}
}
$result['sessionStatus'] = true;
$result['message'] = "Sessions schedule updated successfully";
} else {
$result['sessionStatus'] = false;
$result['message'] = "Something went wrong.please try again";
}
}
return $result;
}
/*
* Get session master details
* created by kms
* */
public function getSessionMasterDetails()//doubt
{
$this->db->select('SessionID,SessionName');
$this->db->order_by('SessionID','DESC');
$this->db->where('IsActive','1');
$sessionDetails = $this->db->get(SESSIONMASTER);
return $sessionDetails->result();
}
}