<?php
namespace App\AtechNet\CoreBundle\Entity;
use App\AtechNet\CoreBundle\Repository\CustomerDataRepository;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\JoinColumn;
use Doctrine\ORM\Mapping\ManyToOne;
use Doctrine\ORM\Mapping\Table as Table;
/**
* CustomerData
*
* @Table(name="customers__data")
* @Entity(repositoryClass=CustomerDataRepository::class)
*/
class CustomerData extends AbstractEntity
{
/**
* @var Domain
*
* @ManyToOne(targetEntity="Customer", inversedBy="datas")
* @JoinColumn(name="customer_id", referencedColumnName="id")
*/
private $customer;
public const SellingIn_Shop = 1;
public const SellingIn_Eshop = 2;
public const SellingIn_ShopAndEshop = 3;
public const SellingIn_NoShop = 4;
public static function getSellingInChoices()
{
return [
self::SellingIn_Shop => 'Traditional shop',
self::SellingIn_Eshop => 'E-shop',
self::SellingIn_ShopAndEshop => 'Traditional and E-shop',
self::SellingIn_NoShop => 'Not selling in shops',
];
}
/**
* @var integer
*
* @ORM\Column(name="selling_in", type="integer", nullable=true)
*/
private $sellingIn;
public const ShopCount_1 = 1;
public const ShopCount_2 = 2;
public const ShopCount_3 = 3;
public const ShopCount_4 = 4;
public const ShopCount_5 = 5;
public const ShopCount_6 = 6;
public static function getShopCountChoices()
{
return [
self::ShopCount_1 => '1',
self::ShopCount_2 => '2',
self::ShopCount_3 => '3',
self::ShopCount_4 => '4',
self::ShopCount_5 => '5',
self::ShopCount_6 => '6 or more',
];
}
/**
* @var integer
*
* @Column(name="shop_count", type="integer", nullable=true)
*/
private $shopCount;
public const ShopSize_1 = 1;
public const ShopSize_2 = 2;
public const ShopSize_3 = 3;
public const ShopSize_4 = 4;
public static function getShopSizeChoices()
{
return [
self::ShopSize_1 => '0-20 m2',
self::ShopSize_2 => '21-50 m2',
self::ShopSize_3 => '51-100 m2',
self::ShopSize_4 => '100+ m2',
];
}
/**
* @var integer
*
* @Column(name="shop_size", type="integer", nullable=true)
*/
private $shopSize;
public const EmployeeCount_1 = 1;
public const EmployeeCount_2 = 2;
public const EmployeeCount_3 = 3;
public const EmployeeCount_4 = 4;
public static function getEmployeeCountChoices()
{
return [
self::ShopSize_1 => '1-3',
self::ShopSize_2 => '4-6',
self::ShopSize_3 => '7-10',
self::ShopSize_4 => 'More than 10',
];
}
/**
* @var integer
*
* @Column(name="employee_count", type="integer", nullable=true)
*/
private $employeeCount;
public const Experience_1 = 1;
public const Experience_2 = 2;
public const Experience_3 = 3;
public const Experience_4 = 4;
public const Experience_5 = 5;
public const Experience_6 = 6;
public static function getExperienceChoices()
{
return [
self::Experience_1 => 'less than 1 year',
self::Experience_2 => '1-2 years',
self::Experience_3 => '3-4 years',
self::Experience_4 => '5-6 years',
self::Experience_5 => '7-10 years',
self::Experience_6 => 'more than 10 years',
];
}
/**
* @var integer
*
* @Column(name="experience", type="integer", nullable=true)
*/
private $experience;
public const MarketPosition_1 = 1;
public const MarketPosition_2 = 2;
public const MarketPosition_3 = 3;
public const MarketPosition_4 = 4;
public const MarketPosition_5 = 5;
public const MarketPosition_6 = 6;
public const MarketPosition_7 = 7;
public const MarketPosition_8 = 8;
public static function getMarketPositionChoices()
{
return [
self::MarketPosition_1 => '1',
self::MarketPosition_2 => '2',
self::MarketPosition_3 => '3',
self::MarketPosition_4 => '4',
self::MarketPosition_5 => '5',
self::MarketPosition_6 => '6-10',
self::MarketPosition_7 => '11-20',
self::MarketPosition_8 => 'Lower than 20th',
];
}
/**
* @var integer
*
* @Column(name="market_position", type="integer", nullable=true)
*/
private $marketPosition;
public const MarketPositionOutOf_1 = 1;
public const MarketPositionOutOf_2 = 2;
public const MarketPositionOutOf_3 = 3;
public const MarketPositionOutOf_4 = 4;
public const MarketPositionOutOf_5 = 5;
public const MarketPositionOutOf_6 = 6;
public const MarketPositionOutOf_7 = 7;
public const MarketPositionOutOf_8 = 8;
public const MarketPositionOutOf_9 = 9;
public const MarketPositionOutOf_10 = 10;
public const MarketPositionOutOf_11 = 11;
public const MarketPositionOutOf_12 = 12;
public const MarketPositionOutOf_13 = 13;
public const MarketPositionOutOf_14 = 14;
public static function getMarketPositionOutOfChoices()
{
return [
self::MarketPositionOutOf_1 => '1',
self::MarketPositionOutOf_2 => '2',
self::MarketPositionOutOf_3 => '3',
self::MarketPositionOutOf_4 => '4',
self::MarketPositionOutOf_5 => '5',
self::MarketPositionOutOf_6 => '6',
self::MarketPositionOutOf_7 => '7',
self::MarketPositionOutOf_8 => '8',
self::MarketPositionOutOf_9 => '9',
self::MarketPositionOutOf_10 => '10',
self::MarketPositionOutOf_11 => '11-15',
self::MarketPositionOutOf_12 => '16-20',
self::MarketPositionOutOf_13 => '21-30',
self::MarketPositionOutOf_14 => 'More than 30',
];
}
/**
* @var integer
*
* @ORM\Column(name="market_position_out_of", type="integer", nullable=true)
*/
private $marketPositionOutOf;
public const PcSalesShare_0 = 0;
public const PcSalesShare_1 = 1;
public const PcSalesShare_2 = 2;
public const PcSalesShare_3 = 3;
public const PcSalesShare_4 = 4;
public const PcSalesShare_5 = 5;
public const PcSalesShare_6 = 6;
public const PcSalesShare_7 = 7;
public const PcSalesShare_8 = 8;
public const PcSalesShare_9 = 9;
public const PcSalesShare_10 = 10;
public static function getPcSalesShareChoices()
{
return [
self::PcSalesShare_0 => '0%',
self::PcSalesShare_1 => '10%',
self::PcSalesShare_2 => '20%',
self::PcSalesShare_3 => '30%',
self::PcSalesShare_4 => '40%',
self::PcSalesShare_5 => '50%',
self::PcSalesShare_6 => '60%',
self::PcSalesShare_7 => '70%',
self::PcSalesShare_8 => '80%',
self::PcSalesShare_9 => '90%',
self::PcSalesShare_10 => '100%',
];
}
/**
* @var integer
*
* @Column(name="pc_sales_share", type="integer", nullable=true)
*/
private $pcSalesShare;
public const PcSoldPerMonth_1 = 1;
public const PcSoldPerMonth_2 = 2;
public const PcSoldPerMonth_3 = 3;
public const PcSoldPerMonth_4 = 4;
public const PcSoldPerMonth_5 = 5;
public static function getPcSoldPerMonthChoices()
{
return [
self::PcSoldPerMonth_1 => '0-5',
self::PcSoldPerMonth_2 => '6-15',
self::PcSoldPerMonth_3 => '16-25',
self::PcSoldPerMonth_4 => '26-40',
self::PcSoldPerMonth_5 => 'More than 40',
];
}
/**
* @var integer
*
* @Column(name="pc_sold_per_month", type="integer", nullable=true)
*/
private $pcSoldPerMonth;
public const AdBudget_0 = 0;
public const AdBudget_1 = 1;
public const AdBudget_2 = 2;
public const AdBudget_3 = 3;
public const AdBudget_4 = 4;
public const AdBudget_5 = 5;
public static function getAdBudgetChoices()
{
return [
self::AdBudget_0 => '0',
self::AdBudget_1 => '1-50 EUR',
self::AdBudget_2 => '51-150 EUR',
self::AdBudget_3 => '151-250 EUR',
self::AdBudget_4 => '251-400 EUR',
self::AdBudget_5 => '401 EUR and more',
];
}
/**
* @var integer
*
* @Column(name="ad_budget", type="integer", nullable=true)
*/
private $adBudget;
public const MonthlyTurnover_1 = 1;
public const MonthlyTurnover_2 = 2;
public const MonthlyTurnover_3 = 3;
public const MonthlyTurnover_4 = 4;
public const MonthlyTurnover_5 = 5;
public static function getMonthlyTurnoverChoices()
{
return [
self::MonthlyTurnover_1 => '0-5000 EUR',
self::MonthlyTurnover_2 => '5001-15000 EUR',
self::MonthlyTurnover_3 => '15001-30000 EUR',
self::MonthlyTurnover_4 => 'More than 3000 EUR',
self::MonthlyTurnover_5 => 'Secret',
];
}
/**
* @var integer
*
* @Column(name="monthly_turnover", type="integer", nullable=true)
*/
private $monthlyTurnover;
public const Relationship_1 = 1;
public const Relationship_2 = 2;
public const Relationship_3 = 3;
public const Relationship_4 = 4;
public const Relationship_5 = 5;
public const Relationship_6 = 6;
public static function getRelationshipChoices()
{
return [
self::Relationship_1 => 'Not contacted',
self::Relationship_2 => 'Contacted',
self::Relationship_3 => 'In progress',
self::Relationship_4 => 'In case of demand orders',
self::Relationship_5 => 'Orders frequently',
self::Relationship_6 => 'Not interested',
];
}
/**
* @var integer
*
* @Column(name="relationship", type="integer", nullable=true)
*/
private $relationship;
public const Status_NewRegistration = 1;
public const Status_NotOrdered = 2;
public const Status_NoCooperation = 3;
public const Status_OldBuyer = 4;
public const Status_SmallPartner = 5;
public const Status_MediumPartner = 6;
public const Status_BigPartner = 7;
public static function getStatusChoices()
{
return [
self::Status_NewRegistration => 'New registration',
self::Status_NotOrdered => 'Not ordered',
self::Status_NoCooperation => 'No cooperation',
self::Status_OldBuyer => 'Old buyer',
self::Status_SmallPartner => 'Small partner',
self::Status_MediumPartner => 'Medium partner',
self::Status_BigPartner => 'Big partner',
];
}
/**
* @var integer
*
* @Column(name="status", type="integer", nullable=true)
*/
private $status;
/**
* @return Customer
*/
public function getCustomer()
{
return $this->customer;
}
/**
* @param Customer $customer
*/
public function setCustomer($customer)
{
$this->customer = $customer;
}
/**
* Set sellingIn
*
* @param integer $sellingIn
* @return CustomerData
*/
public function setSellingIn($sellingIn)
{
$this->sellingIn = $sellingIn;
return $this;
}
/**
* Get sellingIn
*
* @return integer
*/
public function getSellingIn()
{
return $this->sellingIn;
}
/**
* Set shopCount
*
* @param integer $shopCount
* @return CustomerData
*/
public function setShopCount($shopCount)
{
$this->shopCount = $shopCount;
return $this;
}
/**
* Get shopCount
*
* @return integer
*/
public function getShopCount()
{
return $this->shopCount;
}
/**
* Set shopSize
*
* @param integer $shopSize
* @return CustomerData
*/
public function setShopSize($shopSize)
{
$this->shopSize = $shopSize;
return $this;
}
/**
* Get shopSize
*
* @return integer
*/
public function getShopSize()
{
return $this->shopSize;
}
/**
* Set employeeCount
*
* @param integer $employeeCount
* @return CustomerData
*/
public function setEmployeeCount($employeeCount)
{
$this->employeeCount = $employeeCount;
return $this;
}
/**
* Get employeeCount
*
* @return integer
*/
public function getEmployeeCount()
{
return $this->employeeCount;
}
/**
* @return int
*/
public function getExperience()
{
return $this->experience;
}
/**
* @param int $experience
*/
public function setExperience($experience)
{
$this->experience = $experience;
}
/**
* Set marketPosition
*
* @param integer $marketPosition
* @return CustomerData
*/
public function setMarketPosition($marketPosition)
{
$this->marketPosition = $marketPosition;
return $this;
}
/**
* Get marketPosition
*
* @return integer
*/
public function getMarketPosition()
{
return $this->marketPosition;
}
/**
* Set marketPositionOutOf
*
* @param integer $marketPositionOutOf
* @return CustomerData
*/
public function setMarketPositionOutOf($marketPositionOutOf)
{
$this->marketPositionOutOf = $marketPositionOutOf;
return $this;
}
/**
* Get marketPositionOutOf
*
* @return integer
*/
public function getMarketPositionOutOf()
{
return $this->marketPositionOutOf;
}
/**
* Set pcSalesShare
*
* @param integer $pcSalesShare
* @return CustomerData
*/
public function setPcSalesShare($pcSalesShare)
{
$this->pcSalesShare = $pcSalesShare;
return $this;
}
/**
* Get pcSalesShare
*
* @return integer
*/
public function getPcSalesShare()
{
return $this->pcSalesShare;
}
/**
* Set pcSoldPerMonth
*
* @param integer $pcSoldPerMonth
* @return CustomerData
*/
public function setPcSoldPerMonth($pcSoldPerMonth)
{
$this->pcSoldPerMonth = $pcSoldPerMonth;
return $this;
}
/**
* Get pcSoldPerMonth
*
* @return integer
*/
public function getPcSoldPerMonth()
{
return $this->pcSoldPerMonth;
}
/**
* Set adBudget
*
* @param integer $adBudget
* @return CustomerData
*/
public function setAdBudget($adBudget)
{
$this->adBudget = $adBudget;
return $this;
}
/**
* Get adBudget
*
* @return integer
*/
public function getAdBudget()
{
return $this->adBudget;
}
/**
* Set monthlyTurnover
*
* @param integer $monthlyTurnover
* @return CustomerData
*/
public function setMonthlyTurnover($monthlyTurnover)
{
$this->monthlyTurnover = $monthlyTurnover;
return $this;
}
/**
* Get monthlyTurnover
*
* @return integer
*/
public function getMonthlyTurnover()
{
return $this->monthlyTurnover;
}
/**
* Set status
*
* @param integer $status
* @return CustomerData
*/
public function setStatus($status)
{
$this->status = $status;
return $this;
}
/**
* Get status
*
* @return integer
*/
public function getStatus()
{
return $this->status;
}
/**
* @return int
*/
public function getRelationship()
{
return $this->relationship;
}
/**
* @param int $relationship
*/
public function setRelationship($relationship)
{
$this->relationship = $relationship;
}
/**
* Returns title of status set for entity or NULL if not set
*/
public function getStatusTitle()
{
if ($this->status != 0) {
return self::getStatusChoices()[$this->status];
} else {
return null;
}
}
}