<?php
/**
 * ホテル モデル
 */
class Hotel_model extends Model {
    
    public $hotelid = 0;
    public $hotel_name = '';
    public $postcode = '';
    public $prefecture = '';
    public $city = '';
    public $street = '';
    public $phone = '';
    public $email = '';
    public $url = '';
    public $res1_mail = '';
    public $res2_mail = '';
    public $res_cancel_mail = '';
    public $res_mode = '';
    
    function Hotel_model()
    {
        parent::Model();
    }
    
    function load($hotelid)
    {
        // hotel情報をロードする。
        $this->db->where('hotelid', $hotelid);
        $query = $this->db->get('hotels', 1);
        if ($query->num_rows() > 0)
        {
            $data = $query->row_array();
            $this->hotelid = $data['hotelid'];
            $this->hotel_name = $data['hotel_name'];
            $this->postcode = $data['postcode'];
            $this->prefecture = $data['prefecture'];
            $this->city = $data['city'];
            $this->street = $data['street'];
            $this->phone = $data['phone'];
            $this->email = $data['email'];
            $this->url = $data['url'];
            $this->res1_mail = $data['res1_mail'];
            $this->res2_mail = $data['res2_mail'];
            $this->res_cancel_mail = $data['res_cancel_mail'];
            $this->res_mode = $data['res_mode'];
        }
    }
    
    function getPlanId($hotelid)
    {
        $retval = -1;
        
        // テーブルをロックする。
        $this->db->query("LOCK TABLES hotel_seq WRITE;");
        
        $this->db->query("UPDATE hotel_seq SET seq_planid = seq_planid + 1 WHERE hotelid = " . $hotelid);
        $this->db->where('hotelid', $hotelid);
        $query = $this->db->get('hotel_seq', 1);
        $retval = $query->row()->seq_planid;
        
        // テーブルをアンロックする。
        $this->db->query("UNLOCK TABLES;");
        
        return $retval;
    }
    
    function getRoomtypeId($hotelid)
    {
        $retval = -1;
        
        // テーブルをロックする。
        $this->db->query("LOCK TABLES hotel_seq WRITE;");
        
        $this->db->query("UPDATE hotel_seq SET seq_roomtypeid = seq_roomtypeid + 1 WHERE hotelid = " . $hotelid);
        $this->db->where('hotelid', $hotelid);
        $query = $this->db->get('hotel_seq', 1);
        $retval = $query->row()->seq_roomtypeid;
        
        // テーブルをアンロックする。
        $this->db->query("UNLOCK TABLES;");
        
        return $retval;
    }
    
    function getOptionId($hotelid)
    {
        $retval = -1;
        
        // テーブルをロックする。
        $this->db->query("LOCK TABLES hotel_seq WRITE;");
        
        $this->db->query("UPDATE hotel_seq SET seq_optionid = seq_optionid + 1 WHERE hotelid = " . $hotelid);
        $this->db->where('hotelid', $hotelid);
        $query = $this->db->get('hotel_seq', 1);
        $retval = $query->row()->seq_optionid;
        
        // テーブルをアンロックする。
        $this->db->query("UNLOCK TABLES;");
        
        return $retval;
    }
    
    /*
    function getResId($hotelid)
    {
        $retval = -1;
        
        // テーブルをロックする。
        $this->db->query("LOCK TABLES hotel_seq WRITE;");
        
        $this->db->query("UPDATE hotel_seq SET seq_resid = seq_resid + 1 WHERE hotelid = " . $hotelid);
        $this->db->where('hotelid', $hotelid);
        $query = $this->db->get('hotel_seq', 1);
        $retval = $query->row()->seq_resid;
        
        // テーブルをアンロックする。
        $this->db->query("UNLOCK TABLES;");
        
        return $retval;
    }
    */
    
    function getDaytypeId($hotelid)
    {
        $retval = -1;
        
        // テーブルをロックする。
        $this->db->query("LOCK TABLES hotel_seq WRITE;");
        
        $this->db->query("UPDATE hotel_seq SET seq_daytypeid = seq_daytypeid + 1 WHERE hotelid = " . $hotelid);
        $this->db->where('hotelid', $hotelid);
        $query = $this->db->get('hotel_seq', 1);
        $retval = $query->row()->seq_daytypeid;
        
        // テーブルをアンロックする。
        $this->db->query("UNLOCK TABLES;");
        
        return $retval;
    }
    
    function getGuesttypeId($hotelid)
    {
        $retval = -1;
        
        // テーブルをロックする。
        $this->db->query("LOCK TABLES hotel_seq WRITE;");
        
        $this->db->query("UPDATE hotel_seq SET seq_guesttypeid = seq_guesttypeid + 1 WHERE hotelid = " . $hotelid);
        $this->db->where('hotelid', $hotelid);
        $query = $this->db->get('hotel_seq', 1);
        $retval = $query->row()->seq_guesttypeid;
        
        // テーブルをアンロックする。
        $this->db->query("UNLOCK TABLES;");
        
        return $retval;
    }
}
