<?php
/*
 * Developer : John D'Alto (jdalto@yahoo.com)
 * Date : 9/1/2012
 * All code (c)2012 JLS Consulting, all rights reserved
 */

namespace Dorcas\TabithaBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="Dorcas\TabithaBundle\Repository\TabithaRepository")
 * @ORM\HasLifecycleCallbacks()
 * @ORM\Table(name="assistance")
 */

class Assistance
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $assistance_id;
    
    /**
     * @ORM\Column(type="integer")
     */
    protected $client_id;
    
    /**
     * @ORM\ManyToOne(targetEntity="Client", inversedBy="assistance")
     * @ORM\JoinColumn(name="client_id", referencedColumnName="client_id")
     */
    protected $client;
    
    /**
     * @ORM\Column(type="datetime", nullable=true)
     */
    protected $food_given_date;
    
    /**
     * @ORM\Column(type="boolean", nullable=true)
     */
    protected $food_given;
    
    /**
     * @ORM\Column(type="datetime", nullable=true)
     */
    protected $checks_issued_date;
    
    /**
     * @ORM\Column(type="string", length=50, nullable=true)
     */
    protected $checks_issued_payee;
    
    /**
     * @ORM\ManyToOne(targetEntity="CheckPurpose")
     */
    protected $checkpurpose;

    /**
     * @ORM\Column(type="decimal", scale=2, nullable=true)
     */
    protected $check_dorcas;
    
    /**
     * @ORM\Column(type="decimal", scale=2, nullable=true)
     */
    protected $check_oasis;
    
    /**
     * @ORM\Column(type="decimal", scale=2, nullable=true)
     */
    protected $check_sfumc;
    
    /**
     * @ORM\Column(type="decimal", scale=2, nullable=true)
     */
    protected $check_other;
    
    /**
     * @ORM\ManyToOne(targetEntity="SpecialProgram")
     */
    protected $special_program;
    
    /**
     * @ORM\Column(type="datetime", nullable=true)
     */
    protected $special_program_date;
       
    /**
     * @ORM\Column(type="string", length=50, nullable=true)
     */
    protected $special_program_recipient_name;
    
    /**
     * @ORM\Column(type="string", length=50, nullable=true)
     */
    protected $special_program_parent_name;
    
    /**
     * @ORM\Column(type="decimal", scale=2, nullable=true)
     */
    protected $special_program_check;
    
    /**
     * @ORM\Column(name="is_active_check", type="boolean")
     */
    private $isActiveCheck;
    
    /**
     * @ORM\Column(name="is_active_food", type="boolean")
     */
    private $isActiveFood;
    
    /**
     * @ORM\Column(name="is_active_program", type="boolean")
     */
    private $isActiveProgram;
    
    /**
     * @ORM\Column(type="datetime")
     */
    protected $created_dt;
    
    /**
     * @ORM\Column(type="datetime")
     */
    protected $modified_dt;
	

    
    /**
     * @ORM\preUpdate
     */
    public function setUpdatedValue()
    {
       $this->setModifiedDt(new \DateTime());
    }

   public function __construct()
    {
        $this->isActiveCheck = true;
        $this->isActiveFood = true;
        $this->isActiveProgram = true;
        $this->setCreatedDt(new \DateTime());
        $this->setModifiedDt(new \DateTime());
    }


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

    /**
     * Set client_id
     *
     * @param integer $clientId
     */
    public function setClientId($clientId)
    {
        $this->client_id = $clientId;
    }

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

    /**
     * Set checks_issued_date
     *
     * @param datetime $checksIssuedDate
     */
    public function setChecksIssuedDate($checksIssuedDate)
    {
        $this->checks_issued_date = $checksIssuedDate;
    }

    /**
     * Get checks_issued_date
     *
     * @return datetime 
     */
    public function getChecksIssuedDate()
    {
        return $this->checks_issued_date;
    }

    /**
     * Set checks_issued_payee
     *
     * @param string $checksIssuedPayee
     */
    public function setChecksIssuedPayee($checksIssuedPayee)
    {
        $this->checks_issued_payee = $checksIssuedPayee;
    }

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

    /**
     * Set check_dorcas
     *
     * @param decimal $checkDorcas
     */
    public function setCheckDorcas($checkDorcas)
    {
        $this->check_dorcas = $checkDorcas;
    }

    /**
     * Get check_dorcas
     *
     * @return decimal 
     */
    public function getCheckDorcas()
    {
        return $this->check_dorcas;
    }

    /**
     * Set check_oasis
     *
     * @param decimal $checkOasis
     */
    public function setCheckOasis($checkOasis)
    {
        $this->check_oasis = $checkOasis;
    }

    /**
     * Get check_oasis
     *
     * @return decimal 
     */
    public function getCheckOasis()
    {
        return $this->check_oasis;
    }

    /**
     * Set check_sfumc
     *
     * @param decimal $checkSfumc
     */
    public function setCheckSfumc($checkSfumc)
    {
        $this->check_sfumc = $checkSfumc;
    }

    /**
     * Get check_sfumc
     *
     * @return decimal 
     */
    public function getCheckSfumc()
    {
        return $this->check_sfumc;
    }

    /**
     * Set check_other
     *
     * @param decimal $checkOther
     */
    public function setCheckOther($checkOther)
    {
        $this->check_other = $checkOther;
    }

    /**
     * Get check_other
     *
     * @return decimal 
     */
    public function getCheckOther()
    {
        return $this->check_other;
    }

    /**
     * Set created_dt
     *
     * @param datetime $createdDt
     */
    public function setCreatedDt($createdDt)
    {
        $this->created_dt = $createdDt;
    }

    /**
     * Get created_dt
     *
     * @return datetime 
     */
    public function getCreatedDt()
    {
        return $this->created_dt;
    }

    /**
     * Set modified_dt
     *
     * @param datetime $modifiedDt
     */
    public function setModifiedDt($modifiedDt)
    {
        $this->modified_dt = $modifiedDt;
    }

    /**
     * Get modified_dt
     *
     * @return datetime 
     */
    public function getModifiedDt()
    {
        return $this->modified_dt;
    }

    /**
     * Set client
     *
     * @param Dorcas\TabithaBundle\Entity\Client $client
     */
    public function setClient(\Dorcas\TabithaBundle\Entity\Client $client)
    {
        $this->client = $client;
    }

    /**
     * Get client
     *
     * @return Dorcas\TabithaBundle\Entity\Client 
     */
    public function getClient()
    {
        return $this->client;
    }

    /**
     * Set checkpurpose
     *
     * @param Dorcas\TabithaBundle\Entity\CheckPurpose $checkpurpose
     */
    public function setCheckpurpose(\Dorcas\TabithaBundle\Entity\CheckPurpose $checkpurpose)
    {
        $this->checkpurpose = $checkpurpose;
    }

    /**
     * Get checkpurpose
     *
     * @return Dorcas\TabithaBundle\Entity\CheckPurpose 
     */
    public function getCheckpurpose()
    {
        return $this->checkpurpose;
    }

    /**
     * Set food_given_date
     *
     * @param datetime $foodGivenDate
     */
    public function setFoodGivenDate($foodGivenDate)
    {
        $this->food_given_date = $foodGivenDate;
    }

    /**
     * Get food_given_date
     *
     * @return datetime 
     */
    public function getFoodGivenDate()
    {
        return $this->food_given_date;
    }

    /**
     * Set food_given_times
     *
     * @param string $foodGivenTimes
     */
    public function setFoodGivenTimes($foodGivenTimes)
    {
        $this->food_given_times = $foodGivenTimes;
    }

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

    /**
     * Set food_given
     *
     * @param boolean $foodGiven
     */
    public function setFoodGiven($foodGiven)
    {
        $this->food_given = $foodGiven;
    }

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


    /**
     * Set special_program_date
     *
     * @param datetime $specialProgramDate
     */
    public function setSpecialProgramDate($specialProgramDate)
    {
        $this->special_program_date = $specialProgramDate;
    }

    /**
     * Get special_program_date
     *
     * @return datetime 
     */
    public function getSpecialProgramDate()
    {
        return $this->special_program_date;
    }

    /**
     * Set special_program_recipient_name
     *
     * @param string $specialProgramRecipientName
     */
    public function setSpecialProgramRecipientName($specialProgramRecipientName)
    {
        $this->special_program_recipient_name = $specialProgramRecipientName;
    }

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

    /**
     * Set special_program_parent_name
     *
     * @param string $specialProgramParentName
     */
    public function setSpecialProgramParentName($specialProgramParentName)
    {
        $this->special_program_parent_name = $specialProgramParentName;
    }

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

    /**
     * Set special_program_check
     *
     * @param decimal $specialProgramCheck
     */
    public function setSpecialProgramCheck($specialProgramCheck)
    {
        $this->special_program_check = $specialProgramCheck;
    }

    /**
     * Get special_program_check
     *
     * @return decimal 
     */
    public function getSpecialProgramCheck()
    {
        return $this->special_program_check;
    }

    /**
     * Set special_program
     *
     * @param Dorcas\TabithaBundle\Entity\SpecialProgram $specialProgram
     */
    public function setSpecialProgram(\Dorcas\TabithaBundle\Entity\SpecialProgram $specialProgram)
    {
        $this->special_program = $specialProgram;
    }

    /**
     * Get special_program
     *
     * @return Dorcas\TabithaBundle\Entity\SpecialProgram 
     */
    public function getSpecialProgram()
    {
        return $this->special_program;
    }

    /**
     * Set isActiveCheck
     *
     * @param boolean $isActiveCheck
     */
    public function setIsActiveCheck($isActiveCheck)
    {
        $this->isActiveCheck = $isActiveCheck;
    }

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

    /**
     * Set isActiveFood
     *
     * @param boolean $isActiveFood
     */
    public function setIsActiveFood($isActiveFood)
    {
        $this->isActiveFood = $isActiveFood;
    }

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



    /**
     * Set isActiveProgram
     *
     * @param boolean $isActiveProgram
     */
    public function setIsActiveProgram($isActiveProgram)
    {
        $this->isActiveProgram = $isActiveProgram;
    }

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