<?php
/*
   @ClassName : PenggunaanRuangProc
   @Copyright : PT Gamatechno Indonesia
   @Analyzed By : Nanang Ruswianto <nanang@gamatechno.com>
   @Author By : Dyan Galih <galih@gamatechno.com>
   @Version : 0.1
   @StartDate : 2010-06-19
   @LastUpdate : 2010-06-19
   @Description :
*/

require_once GTFWConfiguration::GetValue( 'application', 'docroot') . 'module/penggunaan_ruang/business/PenggunaanRuang.class.php';

class PenggunaanRuangProc {
   var $cssDone = "notebox-done";
   var $cssFail = "notebox-warning";

   function __construct() {

   }

   public function CheckData($id="")
   {
		$Obj = new PenggunaanRuang();
		$id = Dispatcher::Instance()->Decrypt($_GET['id']);
		$jamMulai = $_POST['jam_awal'].':'.$_POST['menit_awal'].':00';
		$jamAkhir = $_POST['jam_akhir'].':'.$_POST['menit_akhir'].':00';
		$tglMulai = $_POST['tgl_awal_year'] . '-' . $_POST['tgl_awal_mon'] . '-' . $_POST['tgl_awal_day'].' '.$jamMulai;
      $tglSelesai = $_POST['tgl_akhir_year'] . '-' . $_POST['tgl_akhir_mon'] . '-' . $_POST['tgl_akhir_day'].' '.$jamAkhir;
		$tglMulai2 = $_POST['tgl_awal_year'] . '-' . $_POST['tgl_awal_mon'] . '-' . $_POST['tgl_awal_day'];
      $tglSelesai2 = $_POST['tgl_akhir_year'] . '-' . $_POST['tgl_akhir_mon'] . '-' . $_POST['tgl_akhir_day'];

		$validasi = $Obj->ValidationDate($tglMulai, $tglSelesai, $_POST['ruang_id']->Raw(),$id);
		$update = $Obj->ValidationDateAtUpdateById($tglMulai2, $tglSelesai2, $jamMulai, $jamAkhir, $_POST['ruang_id']->Raw());

		if($update == '' || $id == ''){
			$check = $validasi;
		}

		$arrReturn['status']=true;
      if($_POST['ruang_id']==''){
         $arrReturn['status'] = false;
         $arrReturn['message'] = 'Data Ruang Harus Dipilih';
      } elseif(isset($check)){
			foreach($check as $val){
				if($val['status_isi']==1){
					$arrReturn['status'] = false;
					$arrReturn['message'] = 'Range tanggal sudah digunakan pada ruang '.$_POST['ruang_nama']->Raw().'';
				}
			}
		}
      return $arrReturn;
   }

   public function Add()
   {
      $result = $this->CheckData();
      if($result['status']==false)
         return $result;

      $objPengRuang = new PenggunaanRuang();
      $result =  $objPengRuang->Add($_POST);
      $arrReturn['status'] = $result;
      if($result)
         $arrReturn['message'] = 'Penambahan Data Sukses';
      else
         $arrReturn['message'] = 'Penambahan Data Gagal';
      return $arrReturn;
   }

   public function Delete($id)
   {
      $objPengRuang = new PenggunaanRuang();
      $result =  $objPengRuang->Delete($id);
      $urlReturn = Dispatcher::Instance()->GetUrl('penggunaan_ruang', 'SearchPenggunaanRuang', 'view', 'html');

      if($result){
         Messenger::Instance()->Send('penggunaan_ruang', 'PenggunaanRuang', 'view', 'html', array($_POST,"Penghapusan Data Sukses",$this->cssDone),Messenger::NextRequest); #data to send usualy ARRAY_DATA, MESSAGE, CSS
      }else{
         Messenger::Instance()->Send('penggunaan_ruang', 'PenggunaanRuang', 'view', 'html', array($_POST,"Penghapusan Data Gagal",$this->cssFail),Messenger::NextRequest); #data to send usualy ARRAY_DATA, MESSAGE, CSS
      }

      return $urlReturn;
   }

   public function Update()
   {
      $objPengRuang = new PenggunaanRuang();

      $id = Dispatcher::Instance()->Decrypt($_GET['id']);

      $result = $this->CheckData($id);

		if($result['status']==false)
         return $result;

      $result =  $objPengRuang->Update($_POST,$id);
      $arrReturn['status'] = $result;
      if($result)
         $arrReturn['message'] = 'Pengubahan Data Sukses';
      else
         $arrReturn['message'] = 'Pengubahan Data Gagal';
      return $arrReturn;
   }
}
?>