<?php

namespace Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 *
 * @license see /license.txt
 * @author autogenerated
 */
class Session extends \Entity
{
    /**
     * @return \Entity\Repository\SessionRepository
     */
     public static function repository(){
        return \Entity\Repository\SessionRepository::instance();
    }

    /**
     * @return \Entity\Session
     */
     public static function create(){
        return new self();
    }

    /**
     * @var smallint $id
     */
    protected $id;

    /**
     * @var integer $id_coach
     */
    protected $id_coach;

    /**
     * @var string $name
     */
    protected $name;

    /**
     * @var smallint $nbr_courses
     */
    protected $nbr_courses;

    /**
     * @var integer $nbr_users
     */
    protected $nbr_users;

    /**
     * @var integer $nbr_classes
     */
    protected $nbr_classes;

    /**
     * @var date $date_start
     */
    protected $date_start;

    /**
     * @var date $date_end
     */
    protected $date_end;

    /**
     * @var boolean $nb_days_access_before_beginning
     */
    protected $nb_days_access_before_beginning;

    /**
     * @var boolean $nb_days_access_after_end
     */
    protected $nb_days_access_after_end;

    /**
     * @var integer $session_admin_id
     */
    protected $session_admin_id;

    /**
     * @var integer $visibility
     */
    protected $visibility;

    /**
     * @var integer $session_category_id
     */
    protected $session_category_id;

    /**
     * @var integer $promotion_id
     */
    protected $promotion_id;


    /**
     * Get id
     *
     * @return smallint 
     */
    public function get_id()
    {
        return $this->id;
    }

    /**
     * Set id_coach
     *
     * @param integer $value
     * @return Session
     */
    public function set_id_coach($value)
    {
        $this->id_coach = $value;
        return $this;
    }

    /**
     * Get id_coach
     *
     * @return integer 
     */
    public function get_id_coach()
    {
        return $this->id_coach;
    }

    /**
     * Set name
     *
     * @param string $value
     * @return Session
     */
    public function set_name($value)
    {
        $this->name = $value;
        return $this;
    }

    /**
     * Get name
     *
     * @return string 
     */
    public function get_name()
    {
        return $this->name;
    }

    /**
     * Set nbr_courses
     *
     * @param smallint $value
     * @return Session
     */
    public function set_nbr_courses($value)
    {
        $this->nbr_courses = $value;
        return $this;
    }

    /**
     * Get nbr_courses
     *
     * @return smallint 
     */
    public function get_nbr_courses()
    {
        return $this->nbr_courses;
    }

    /**
     * Set nbr_users
     *
     * @param integer $value
     * @return Session
     */
    public function set_nbr_users($value)
    {
        $this->nbr_users = $value;
        return $this;
    }

    /**
     * Get nbr_users
     *
     * @return integer 
     */
    public function get_nbr_users()
    {
        return $this->nbr_users;
    }

    /**
     * Set nbr_classes
     *
     * @param integer $value
     * @return Session
     */
    public function set_nbr_classes($value)
    {
        $this->nbr_classes = $value;
        return $this;
    }

    /**
     * Get nbr_classes
     *
     * @return integer 
     */
    public function get_nbr_classes()
    {
        return $this->nbr_classes;
    }

    /**
     * Set date_start
     *
     * @param date $value
     * @return Session
     */
    public function set_date_start($value)
    {
        $this->date_start = $value;
        return $this;
    }

    /**
     * Get date_start
     *
     * @return date 
     */
    public function get_date_start()
    {
        return $this->date_start;
    }

    /**
     * Set date_end
     *
     * @param date $value
     * @return Session
     */
    public function set_date_end($value)
    {
        $this->date_end = $value;
        return $this;
    }

    /**
     * Get date_end
     *
     * @return date 
     */
    public function get_date_end()
    {
        return $this->date_end;
    }

    /**
     * Set nb_days_access_before_beginning
     *
     * @param boolean $value
     * @return Session
     */
    public function set_nb_days_access_before_beginning($value)
    {
        $this->nb_days_access_before_beginning = $value;
        return $this;
    }

    /**
     * Get nb_days_access_before_beginning
     *
     * @return boolean 
     */
    public function get_nb_days_access_before_beginning()
    {
        return $this->nb_days_access_before_beginning;
    }

    /**
     * Set nb_days_access_after_end
     *
     * @param boolean $value
     * @return Session
     */
    public function set_nb_days_access_after_end($value)
    {
        $this->nb_days_access_after_end = $value;
        return $this;
    }

    /**
     * Get nb_days_access_after_end
     *
     * @return boolean 
     */
    public function get_nb_days_access_after_end()
    {
        return $this->nb_days_access_after_end;
    }

    /**
     * Set session_admin_id
     *
     * @param integer $value
     * @return Session
     */
    public function set_session_admin_id($value)
    {
        $this->session_admin_id = $value;
        return $this;
    }

    /**
     * Get session_admin_id
     *
     * @return integer 
     */
    public function get_session_admin_id()
    {
        return $this->session_admin_id;
    }

    /**
     * Set visibility
     *
     * @param integer $value
     * @return Session
     */
    public function set_visibility($value)
    {
        $this->visibility = $value;
        return $this;
    }

    /**
     * Get visibility
     *
     * @return integer 
     */
    public function get_visibility()
    {
        return $this->visibility;
    }

    /**
     * Set session_category_id
     *
     * @param integer $value
     * @return Session
     */
    public function set_session_category_id($value)
    {
        $this->session_category_id = $value;
        return $this;
    }

    /**
     * Get session_category_id
     *
     * @return integer 
     */
    public function get_session_category_id()
    {
        return $this->session_category_id;
    }

    /**
     * Set promotion_id
     *
     * @param integer $value
     * @return Session
     */
    public function set_promotion_id($value)
    {
        $this->promotion_id = $value;
        return $this;
    }

    /**
     * Get promotion_id
     *
     * @return integer 
     */
    public function get_promotion_id()
    {
        return $this->promotion_id;
    }
}