<?php
//--Class base_Officer--------------------------
//--PK of base_Officer ::
//    1. officerId

include_once "Db.php";

class 
base_Officer extends Db{

var 
$result;
var 
$status;

var 
$officerId;
var 
$officerCode;
var 
$officerPassword;
var 
$officerType;
var 
$prefixId;
var 
$officerName;
var 
$officerSurname;
var 
$officerNameEng;
var 
$officerSurnameEng;
var 
$officerEmail;
var 
$officerStatus;
var 
$remark;
var 
$contactAddress;
var 
$contactPhone;
var 
$organId;
var 
$debtUDAuthority;
var 
$officerPosition;

function 
AddNew(){
//--ใช้เมธอดนี้เมื่อต้องการเพิ่มข้อมูลใหม่
//--โดยจะกำหนดสถานะของข้อมูลของอ๊อบเจ๊กให้เป็น 1
    
$this->status 1;
}

function 
Edit(){
//--ใช้เมธอดนี้เมื่อต้องการปรับปรุงข้อมูล
//--โดยจะกำหนดสถานะของข้อมูลของอ๊อบเจ๊กให้เป็น 2
    
$this->status 2;
}

function 
Save(){
//--ใช้เมธอดนี้เมื่อต้องการบันทึกข้อมูลในอ๊อบเจ๊กเข้าสู่ฐานข้อมูล
//--โดยจะตรวจสอบสถานะของข้อมูลว่าข้อมูลในอ๊อบเจ๊กเป็นข้อมูลใหม่หรือข้อมูลเดิม
//--1 เป็นข้อมูลใหม่  2 เป็นข้อมูลเดิม
    
if ($this->status==1){
        
$this->officerId=$this->GetNextCode();
        
$sql "insert into Officer values('$this->officerId', '$this->officerCode', '$this->officerPassword', '$this->officerType', '$this->prefixId', '$this->officerName', '$this->officerSurname', '$this->officerNameEng', '$this->officerSurnameEng', '$this->officerEmail', '$this->officerStatus', '$this->remark', '$this->contactAddress', '$this->contactPhone', $this->organId, '$this->debtUDAuthority', '$this->officerPosition')";
    }else {
        
$sql "update Officer set officerCode='$this->officerCode', officerPassword='$this->officerPassword', officerType='$this->officerType', prefixId='$this->prefixId', officerName='$this->officerName', officerSurname='$this->officerSurname', officerNameEng='$this->officerNameEng', officerSurnameEng='$this->officerSurnameEng', officerEmail='$this->officerEmail', officerStatus='$this->officerStatus', remark='$this->remark', contactAddress='$this->contactAddress', contactPhone='$this->contactPhone', organId=$this->organId, debtUDAuthority='$this->debtUDAuthority', officerPosition='$this->officerPosition' where officerId='$this->officerId'";
    }
    
$this->SetQuery($sql);
}

function 
Delete(){
//--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
//--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
    
if($this->SetQuery("delete from Officer where officerId='$this->officerId'")){ 
        return 
1;
    }else {
        return 
0;
    }
}

function 
GetNextCode(){
//--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
    
$this->SetQuery("select max(officerId) as num from Officer");
    if (
$result=$this->GetResult()) {
        return 
$result['num']+1;
    }
}

function 
RSOfficer(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
    
$this->SetQuery("select * from Officer order by officerId");
}

function 
GetRecord(){
//--เป็นเมธอดที่นำข้อมูลจาก ResultSet มากำหนดให้กับแอตทริบิวต์ของอ๊อบเจ็ก
//--เรียก GetRecord() หนึ่งครั้ง จะเลื่อนตัวชี้เรคอร์ดไปอีกหนึ่งเรคอร์ด
    
if ($this->result $this->GetResult()) {
        
$this->officerId $this->result['officerId'];
        
$this->officerCode $this->result['officerCode'];
        
$this->officerPassword $this->result['officerPassword'];
        
$this->officerType $this->result['officerType'];
        
$this->prefixId $this->result['prefixId'];
        
$this->officerName $this->result['officerName'];
        
$this->officerSurname $this->result['officerSurname'];
        
$this->officerNameEng $this->result['officerNameEng'];
        
$this->officerSurnameEng $this->result['officerSurnameEng'];
        
$this->officerEmail $this->result['officerEmail'];
        
$this->officerStatus $this->result['officerStatus'];
        
$this->remark $this->result['remark'];
        
$this->contactAddress $this->result['contactAddress'];
        
$this->contactPhone $this->result['contactPhone'];
        
$this->organId $this->result['organId'];
        
$this->debtUDAuthority $this->result['debtUDAuthority'];
        
$this->officerPosition $this->result['officerPosition'];
        return 
1;
    }else {
        return 
0;
    }
}

function 
SearchByKey($xKey){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
    
if ($this->SetQuery("select * from Officer where officerId= '$xKey'")){ 
        return 
1;
    }else {
        return 
0;
    }
}

function 
NumRow(){
//--เป็นเมธอดที่คืนค่าจำนวนข้อมูลจากการ select โดยเมธอด RSxxxx
    
return $this->GetRowSelected();
}

function 
Destroy(){
//--เป็นเมธอดสำหรับปิดการติดต่อจากฐานข้อมูล
    
return $this->DestroyDb();
}

//****************** You can add new functions below **********************//


//--End class base_Officer--

?>