<?php

namespace OfficeBrain\Bundle\ServiceGroupBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * ServiceRuleChargesEquation.
 *
 * @ORM\Table("tbl_service_rule_charges_equations")
 * @ORM\Entity(repositoryClass="OfficeBrain\Bundle\ServiceGroupBundle\Entity\ServiceRuleChargesEquationRepository")
 */
class ServiceRuleChargesEquation
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="bigint",length=20, options={"unsigned"=true})
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;


    /**
     * @var int
     *
     * @ORM\ManyToOne(targetEntity="ServiceRuleMappingMaster", inversedBy="serviceRuleChargesEquationId", cascade={"persist"})
     * @ORM\JoinColumn(name="service_rule_mapping_id", referencedColumnName="id")
     */
    private $serviceRuleMappingId;

    /**
     * @var float
     *
     * @ORM\Column(name="base_charge1", type="float", precision=10, scale=0, nullable=true)
     */
    private $baseCharge1;


    /**
     * @var string
     *
     * @ORM\Column(name="condition_operator1", type="string", length=50)
     */
    private $conditionOperator1;


    /**
     * @var float
     *
     * @ORM\Column(name="base_charge2", type="float", precision=10, scale=0, nullable=true)
     */
    private $baseCharge2;


    /**
     * @var string
     *
     * @ORM\Column(name="condition_operator2", type="string", length=50)
     */
    private $conditionOperator2;


    /**
     * @var int
     *
     * @ORM\Column(name="amount_type", type="integer", nullable=true)
     */
    private $amountType;

    /**
     * @var float
     *
     * @ORM\Column(name="amount", type="float", precision=10, scale=0, nullable=true)
     */
    private $amount;

    /**
     * @var bool
     *
     * @ORM\Column(name="is_column_qty", type="boolean", nullable=true)
     */
    private $isColumnQty = false;

    /**
     * @var bool
     *
     * @ORM\Column(name="is_per_color", type="boolean", nullable=true)
     */
    private $isPerColor = false;

    /**
     * @var bool
     *
     * @ORM\Column(name="is_per_location", type="boolean", nullable=true)
     */
    private $isPerLocation = false;


    /**
     * @var \DateTime
     *
     * @ORM\Column(name="deleted_at", type="date", nullable=true)
     */
    private $deletedAt;

    /**
     * @var \DateTime
     * @Gedmo\Timestampable(on="create")
     * @ORM\Column(name="created_at", type="date")
     */
    private $createdAt;

    /**
     * @var \DateTime
     * @Gedmo\Timestampable(on="update")
     * @ORM\Column(name="updated_at", type="date")
     */
    private $updatedAt;

    /**
     * @var int
     * @ORM\Column(name="created_uid", type="bigint" ,length=20 ,options={"unsigned"=true})
     */
    private $createdUid;

    /**
     * @var int
     * @ORM\Column(name="updated_uid", type="bigint" ,length=20 ,options={"unsigned"=true}, nullable=true)
     */
    private $updatedUid;

    /**
     * @var int
     * @ORM\Column(name="deleted_uid", type="bigint" ,length=20 ,options={"unsigned"=true}, nullable=true)
     */
    private $deletedUid;



    /**
     * Get id.
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }





    /**
     * Set baseCharge1
     *
     * @param float $baseCharge1
     * @return ServiceRuleChargesEquation
     */
    public function setBaseCharge1($baseCharge1)
    {
        $this->baseCharge1 = $baseCharge1;

        return $this;
    }

    /**
     * Get baseCharge1
     *
     * @return float
     */
    public function getBaseCharge1()
    {
        return $this->baseCharge1;
    }

    /**
     * Set conditionOperator1
     *
     * @param string $conditionOperator1
     * @return ServiceRuleChargesEquation
     */
    public function setConditionOperator1($conditionOperator1)
    {
        $this->conditionOperator1 = $conditionOperator1;

        return $this;
    }

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

    /**
     * Set baseCharge2
     *
     * @param float $baseCharge2
     * @return ServiceRuleChargesEquation
     */
    public function setBaseCharge2($baseCharge2)
    {
        $this->baseCharge2 = $baseCharge2;

        return $this;
    }

    /**
     * Get baseCharge2
     *
     * @return float
     */
    public function getBaseCharge2()
    {
        return $this->baseCharge2;
    }

    /**
     * Set conditionOperator2
     *
     * @param string $conditionOperator2
     * @return ServiceRuleChargesEquation
     */
    public function setConditionOperator2($conditionOperator2)
    {
        $this->conditionOperator2 = $conditionOperator2;

        return $this;
    }

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

    /**
     * Set amountType
     *
     * @param integer $amountType
     * @return ServiceRuleChargesEquation
     */
    public function setAmountType($amountType)
    {
        $this->amountType = $amountType;

        return $this;
    }

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

    /**
     * Set amount
     *
     * @param float $amount
     * @return ServiceRuleChargesEquation
     */
    public function setAmount($amount)
    {
        $this->amount = $amount;

        return $this;
    }

    /**
     * Get amount
     *
     * @return float
     */
    public function getAmount()
    {
        return $this->amount;
    }

    /**
     * Set isColumnQty
     *
     * @param boolean $isColumnQty
     * @return ServiceRuleChargesEquation
     */
    public function setIsColumnQty($isColumnQty)
    {
        $this->isColumnQty = $isColumnQty;

        return $this;
    }

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

    /**
     * Set isPerColor
     *
     * @param boolean $isPerColor
     * @return ServiceRuleChargesEquation
     */
    public function setIsPerColor($isPerColor)
    {
        $this->isPerColor = $isPerColor;

        return $this;
    }

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

    /**
     * Set isPerLocation
     *
     * @param boolean $isPerLocation
     * @return ServiceRuleChargesEquation
     */
    public function setIsPerLocation($isPerLocation)
    {
        $this->isPerLocation = $isPerLocation;

        return $this;
    }

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

    /**
     * Set deletedAt
     *
     * @param \DateTime $deletedAt
     * @return ServiceRuleChargesEquation
     */
    public function setDeletedAt($deletedAt)
    {
        $this->deletedAt = $deletedAt;

        return $this;
    }

    /**
     * Get deletedAt
     *
     * @return \DateTime
     */
    public function getDeletedAt()
    {
        return $this->deletedAt;
    }

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     * @return ServiceRuleChargesEquation
     */
    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;

        return $this;
    }

    /**
     * Get createdAt
     *
     * @return \DateTime
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * Set updatedAt
     *
     * @param \DateTime $updatedAt
     * @return ServiceRuleChargesEquation
     */
    public function setUpdatedAt($updatedAt)
    {
        $this->updatedAt = $updatedAt;

        return $this;
    }

    /**
     * Get updatedAt
     *
     * @return \DateTime
     */
    public function getUpdatedAt()
    {
        return $this->updatedAt;
    }

    /**
     * Set createdUid
     *
     * @param integer $createdUid
     * @return ServiceRuleChargesEquation
     */
    public function setCreatedUid($createdUid)
    {
        $this->createdUid = $createdUid;

        return $this;
    }

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

    /**
     * Set updatedUid
     *
     * @param integer $updatedUid
     * @return ServiceRuleChargesEquation
     */
    public function setUpdatedUid($updatedUid)
    {
        $this->updatedUid = $updatedUid;

        return $this;
    }

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

    /**
     * Set deletedUid
     *
     * @param integer $deletedUid
     * @return ServiceRuleChargesEquation
     */
    public function setDeletedUid($deletedUid)
    {
        $this->deletedUid = $deletedUid;

        return $this;
    }

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

    /**
     * Set serviceRuleMappingId
     *
     * @param \OfficeBrain\Bundle\ServiceGroupBundle\Entity\ServiceRuleMappingMaster $serviceRuleMappingId
     * @return ServiceRuleChargesEquation
     */
    public function setServiceRuleMappingId($serviceRuleMappingId = null)
    {
        $this->serviceRuleMappingId = $serviceRuleMappingId;

        return $this;
    }

    /**
     * Get serviceRuleMappingId
     *
     * @return \OfficeBrain\Bundle\ServiceGroupBundle\Entity\ServiceRuleMappingMaster
     */
    public function getServiceRuleMappingId()
    {
        return $this->serviceRuleMappingId;
    }
}
