<?php
// written by:   Melissa Romanus
// assisted by:
// debugged by:

namespace RU\TheStockHopBundle\Entity;

use Doctrine\ORM\Mapping as ORM;


/**
 * @ORM\Entity
 * @ORM\Table(name="history")
 */
class History
{

        /**
        *   @ORM\Id
        *   @ORM\Column(type="integer")
        *   @ORM\GeneratedValue
        */
	protected $id;

        /**
        *  @ORM\Column(type="integer")
        */
        protected $account_id;

	/**
	*  @ORM\Column(name="time_placed", type="datetime")
	*/
	protected $created;

	/**
	*  @ORM\Column(length=16))
	*/
	protected $symbol;

	/**
	*  @ORM\Column(length=5)
	*/
	protected $action;
	
	/**
	*  @ORM\Column(type="bigint")
	*/
	protected $quantity;

	/**
	*  @ORM\Column(length=20)
	*/
	protected $type;

        /**
        *  @ORM\Column(length=20)
        */
	protected $duration;

        /**
        *  @ORM\Column(name="time_executed",type="datetime")
        */
	protected $executed;

        /**
        *  @ORM\Column(name="limit_price",type="decimal",scale=2)
        */
    protected $limitPrice;

        /**
        *  @ORM\Column(name="price",type="decimal",scale=2)
        */
    protected $finalPrice;

        /**
        *  @ORM\Column(name="stop_price",type="decimal",scale=2)
        */
    protected $stopPrice;

        /**
        *  @ORM\Column(name="trail",type="decimal",scale=2)
        */
    protected $trail;

        /**
        *  @ORM\Column(type="decimal",scale=2)
        */
	protected $commission;


        /**
        *  @ORM\Column(name="order_value",type="decimal",scale=2)
        */
	protected $orderValue;

        /**
        *  @ORM\Column(name="account_value",type="decimal",scale=2)
        */
	protected $accountValue;

    /**
     * @ORM\ManyToOne(targetEntity="Account", inversedBy="history")
     * @ORM\JoinColumn(name="account_id", referencedColumnName="id")
     */
        private $account;



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

    /**
     * Set account_id
     *
     * @param integer $accountId
     */
    public function setAccountId($accountId)
    {
        $this->account_id = $accountId;
    }

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

    /**
     * Set created
     *
     * @param datetime $created
     */
    public function setCreated($created)
    {
        $this->created = $created;
    }

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

    /**
     * Set symbol
     *
     * @param string $symbol
     */
    public function setSymbol($symbol)
    {
        $this->symbol = $symbol;
    }

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

    /**
     * Set action
     *
     * @param string $action
     */
    public function setAction($action)
    {
        $this->action = $action;
    }

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

    /**
     * Set quantity
     *
     * @param bigint $quantity
     */
    public function setQuantity($quantity)
    {
        $this->quantity = $quantity;
    }

    /**
     * Get quantity
     *
     * @return bigint 
     */
    public function getQuantity()
    {
        return $this->quantity;
    }

    /**
     * Set type
     *
     * @param string $type
     */
    public function setType($type)
    {
        $this->type = $type;
    }

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


    /**
     * Set duration
     *
     * @param string $duration
     */
    public function setDuration($duration)
    {
        $this->duration = $duration;
    }

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

    /**
     * Set executed
     *
     * @param datetime $executed
     */
    public function setExecuted($executed)
    {
        $this->executed = $executed;
    }

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

    /**
     * Set commission
     *
     * @param decimal $commission
     */
    public function setCommission($commission)
    {
        $this->commission = $commission;
    }

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

    /**
     * Set orderValue
     *
     * @param decimal $orderValue
     */
    public function setOrderValue($orderValue)
    {
        $this->orderValue = $orderValue;
    }

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

    /**
     * Set accountValue
     *
     * @param decimal $accountValue
     */
    public function setAccountValue($accountValue)
    {
        $this->accountValue = $accountValue;
    }

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

    /**
     * Set account
     *
     * @param RU\TheStockHopBundle\Entity\Account $account
     */
    public function setAccount(\RU\TheStockHopBundle\Entity\Account $account)
    {
        $this->account = $account;
    }

    /**
     * Get account
     *
     * @return RU\TheStockHopBundle\Entity\Account 
     */
    public function getAccount()
    {
        return $this->account;
    }

    /**
     * Set limitPrice
     *
     * @param decimal $limitPrice
     */
    public function setLimitPrice($limitPrice)
    {
        $this->limitPrice = $limitPrice;
    }

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

    /**
     * Set stopPrice
     *
     * @param decimal $stopPrice
     */
    public function setStopPrice($stopPrice)
    {
        $this->stopPrice = $stopPrice;
    }

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

    /**
     * Set trail
     *
     * @param int $trail
     */
    public function setTrail(\int $trail)
    {
        $this->trail = $trail;
    }

    /**
     * Get trail
     *
     * @return int 
     */
    public function getTrail()
    {
        return $this->trail;
    }

    /**
     * Set finalPrice
     *
     * @param decimal $finalPrice
     */
    public function setFinalPrice($finalPrice)
    {
        $this->finalPrice = $finalPrice;
    }

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