<?php

namespace Market\ZodacoBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Products
 */
class Products
{
    /**
     * @var integer
     */
    private $id;

    /**
     * @var integer
     */
    private $u_id;

    /**
     * @var integer
     */
    private $c_id;

    /**
     * @var string
     */
    private $title;

    /**
     * @var string
     */
    private $short_details;

    /**
     * @var string
     */
    private $details;

    /**
     * @var string
     */
    private $icon;

    /**
     * @var string
     */
    private $preview;

    /**
     * @var string
     */
    private $main_file;

    /**
     * @var string
     */
    private $screenshots;

    /**
     * @var string
     */
    private $demo_url;

    /**
     * @var string
     */
    private $video_url;

    /**
     * @var string
     */
    private $tags;

    /**
     * @var string
     */
    private $comments;

    /**
     * @var integer
     */
    private $price;

    /**
     * @var integer
     */
    private $price_plus;

    /**
     * @var integer
     */
    private $total_sale;

    /**
     * @var integer
     */
    private $total_rate;

    /**
     * @var string
     */
    private $average_rate;

    /**
     * @var integer
     */
    private $views;

    /**
     * @var integer
     */
    private $not_own;

    /**
     * @var integer
     */
    private $free_month;

    /**
     * @var integer
     */
    private $feature;

    /**
     * @var integer
     */
    private $trend;

    /**
     * @var integer
     */
    private $active;

    /**
     * @var \DateTime
     */
    private $createdAt;

    /**
     * @var \DateTime
     */
    private $updatedAt;

    /**
     * @var \Market\ZodacoBundle\Entity\Users
     */
    private $Users;

    /**
     * @var \Market\ZodacoBundle\Entity\Categories
     */
    private $Categories;


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

    /**
     * Set u_id
     *
     * @param integer $uId
     * @return Products
     */
    public function setUId($uId)
    {
        $this->u_id = $uId;

        return $this;
    }

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

    /**
     * Set c_id
     *
     * @param integer $cId
     * @return Products
     */
    public function setCId($cId)
    {
        $this->c_id = $cId;

        return $this;
    }

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

    /**
     * Set title
     *
     * @param string $title
     * @return Products
     */
    public function setTitle($title)
    {
        $this->title = $title;

        return $this;
    }

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

    /**
     * Set short_details
     *
     * @param string $shortDetails
     * @return Products
     */
    public function setShortDetails($shortDetails)
    {
        $this->short_details = $shortDetails;

        return $this;
    }

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

    /**
     * Set details
     *
     * @param string $details
     * @return Products
     */
    public function setDetails($details)
    {
        $this->details = $details;

        return $this;
    }

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

    /**
     * Set icon
     *
     * @param string $icon
     * @return Products
     */
    public function setIcon($icon)
    {
        $this->icon = $icon;

        return $this;
    }

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

    /**
     * Set preview
     *
     * @param string $preview
     * @return Products
     */
    public function setPreview($preview)
    {
        $this->preview = $preview;

        return $this;
    }

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

    /**
     * Set main_file
     *
     * @param string $mainFile
     * @return Products
     */
    public function setMainFile($mainFile)
    {
        $this->main_file = $mainFile;

        return $this;
    }

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

    /**
     * Set screenshots
     *
     * @param string $screenshots
     * @return Products
     */
    public function setScreenshots($screenshots)
    {
        $this->screenshots = $screenshots;

        return $this;
    }

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

    /**
     * Set demo_url
     *
     * @param string $demoUrl
     * @return Products
     */
    public function setDemoUrl($demoUrl)
    {
        $this->demo_url = $demoUrl;

        return $this;
    }

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

    /**
     * Set video_url
     *
     * @param string $videoUrl
     * @return Products
     */
    public function setVideoUrl($videoUrl)
    {
        $this->video_url = $videoUrl;

        return $this;
    }

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

    /**
     * Set tags
     *
     * @param string $tags
     * @return Products
     */
    public function setTags($tags)
    {
        $this->tags = $tags;

        return $this;
    }

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

    /**
     * Set comments
     *
     * @param string $comments
     * @return Products
     */
    public function setComments($comments)
    {
        $this->comments = $comments;

        return $this;
    }

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

    /**
     * Set price
     *
     * @param integer $price
     * @return Products
     */
    public function setPrice($price)
    {
        $this->price = $price;

        return $this;
    }

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

    /**
     * Set price_plus
     *
     * @param integer $pricePlus
     * @return Products
     */
    public function setPricePlus($pricePlus)
    {
        $this->price_plus = $pricePlus;

        return $this;
    }

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

    /**
     * Set total_sale
     *
     * @param integer $totalSale
     * @return Products
     */
    public function setTotalSale($totalSale)
    {
        $this->total_sale = $totalSale;

        return $this;
    }

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

    /**
     * Set total_rate
     *
     * @param integer $totalRate
     * @return Products
     */
    public function setTotalRate($totalRate)
    {
        $this->total_rate = $totalRate;

        return $this;
    }

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

    /**
     * Set average_rate
     *
     * @param string $averageRate
     * @return Products
     */
    public function setAverageRate($averageRate)
    {
        $this->average_rate = $averageRate;

        return $this;
    }

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

    /**
     * Set views
     *
     * @param integer $views
     * @return Products
     */
    public function setViews($views)
    {
        $this->views = $views;

        return $this;
    }

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

    /**
     * Set not_own
     *
     * @param integer $notOwn
     * @return Products
     */
    public function setNotOwn($notOwn)
    {
        $this->not_own = $notOwn;

        return $this;
    }

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

    /**
     * Set free_month
     *
     * @param integer $freeMonth
     * @return Products
     */
    public function setFreeMonth($freeMonth)
    {
        $this->free_month = $freeMonth;

        return $this;
    }

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

    /**
     * Set feature
     *
     * @param integer $feature
     * @return Products
     */
    public function setFeature($feature)
    {
        $this->feature = $feature;

        return $this;
    }

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

    /**
     * Set trend
     *
     * @param integer $trend
     * @return Products
     */
    public function setTrend($trend)
    {
        $this->trend = $trend;

        return $this;
    }

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

    /**
     * Set active
     *
     * @param integer $active
     * @return Products
     */
    public function setActive($active)
    {
        $this->active = $active;

        return $this;
    }

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

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     * @return Products
     */
    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 Products
     */
    public function setUpdatedAt($updatedAt)
    {
        $this->updatedAt = $updatedAt;

        return $this;
    }

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

    /**
     * Set Users
     *
     * @param \Market\ZodacoBundle\Entity\Users $users
     * @return Products
     */
    public function setUsers(\Market\ZodacoBundle\Entity\Users $users = null)
    {
        $this->Users = $users;

        return $this;
    }

    /**
     * Get Users
     *
     * @return \Market\ZodacoBundle\Entity\Users 
     */
    public function getUsers()
    {
        return $this->Users;
    }

    /**
     * Set Categories
     *
     * @param \Market\ZodacoBundle\Entity\Categories $categories
     * @return Products
     */
    public function setCategories(\Market\ZodacoBundle\Entity\Categories $categories = null)
    {
        $this->Categories = $categories;

        return $this;
    }

    /**
     * Get Categories
     *
     * @return \Market\ZodacoBundle\Entity\Categories 
     */
    public function getCategories()
    {
        return $this->Categories;
    }
    /**
     * @var integer
     */
    private $p_id;


    /**
     * Set p_id
     *
     * @param integer $pId
     * @return Products
     */
    public function setPId($pId)
    {
        $this->p_id = $pId;

        return $this;
    }

    /**
     * Get p_id
     *
     * @return integer 
     */
    public function getPId()
    {
        return $this->p_id;
    }
    /**
     * @var string
     */
    private $update_title;

    /**
     * @var string
     */
    private $update_icon;

    /**
     * @var string
     */
    private $update_preview;

    /**
     * @var string
     */
    private $update_main_file;

    /**
     * @var string
     */
    private $update_screenshots;


    /**
     * Set update_title
     *
     * @param string $updateTitle
     * @return Products
     */
    public function setUpdateTitle($updateTitle)
    {
        $this->update_title = $updateTitle;

        return $this;
    }

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

    /**
     * Set update_icon
     *
     * @param string $updateIcon
     * @return Products
     */
    public function setUpdateIcon($updateIcon)
    {
        $this->update_icon = $updateIcon;

        return $this;
    }

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

    /**
     * Set update_preview
     *
     * @param string $updatePreview
     * @return Products
     */
    public function setUpdatePreview($updatePreview)
    {
        $this->update_preview = $updatePreview;

        return $this;
    }

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

    /**
     * Set update_main_file
     *
     * @param string $updateMainFile
     * @return Products
     */
    public function setUpdateMainFile($updateMainFile)
    {
        $this->update_main_file = $updateMainFile;

        return $this;
    }

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

    /**
     * Set update_screenshots
     *
     * @param string $updateScreenshots
     * @return Products
     */
    public function setUpdateScreenshots($updateScreenshots)
    {
        $this->update_screenshots = $updateScreenshots;

        return $this;
    }

    /**
     * Get update_screenshots
     *
     * @return string 
     */
    public function getUpdateScreenshots()
    {
        return $this->update_screenshots;
    }
    /**
     * @var integer
     */
    private $total_comment;


    /**
     * Set total_comment
     *
     * @param integer $totalComment
     * @return Products
     */
    public function setTotalComment($totalComment)
    {
        $this->total_comment = $totalComment;

        return $this;
    }

    /**
     * Get total_comment
     *
     * @return integer 
     */
    public function getTotalComment()
    {
        return $this->total_comment;
    }
    /**
     * @var integer
     */
    private $status;

    /**
     * @var \DateTime
     */
    private $versionAt;


    /**
     * Set status
     *
     * @param integer $status
     * @return Products
     */
    public function setStatus($status)
    {
        $this->status = $status;

        return $this;
    }

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

    /**
     * Set versionAt
     *
     * @param \DateTime $versionAt
     * @return Products
     */
    public function setVersionAt($versionAt)
    {
        $this->versionAt = $versionAt;

        return $this;
    }

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