<?php
namespace App\Entity;
use App\Utils\ExtendedEntity;
use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
/**
* @ORM\Entity(repositoryClass="App\Repository\CustomerRepository")
*/
class Customer implements UserInterface
{
use ExtendedEntity;
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $companyName;
/**
* @ORM\Column(type="bigint")
*/
private $NIP;
/**
* @ORM\Column(type="string", length=255)
*/
private $username;
/**
* @ORM\Column(type="string", length=255)
*/
private $password;
/**
* @ORM\Column(type="string", length=32, nullable=true)
*/
private $phoneNumber;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $lastInquiryDate;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $lastOfferDate;
/**
* @ORM\Column(type="boolean", options={"default" : true})
*/
private $isRecipient = true;
/**
* @ORM\Column(type="boolean", options={"default" : false})
*/
private $isSupplier = false;
/** @ORM\Column(type="array", nullable=true) */
private $roles = ['ROLE_USER'];
/** @ORM\Column(type="string", length=255, nullable=true) */
private $salt;
/** @ORM\Column(type="string", length=255, nullable=true) */
private $registerKey;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Inquiry", mappedBy="recipient", orphanRemoval=true)
*/
private $inquiries;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Offer", mappedBy="supplier", orphanRemoval=true)
*/
private $offers;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Rating", mappedBy="owner", orphanRemoval=true)
*/
private $ratings;
/**
* @ORM\OneToMany(targetEntity="App\Entity\PrivateMessage", mappedBy="author")
*/
private $privateMessages;
/**
* @ORM\OneToMany(targetEntity="App\Entity\PrivateMessage", mappedBy="recipient")
*/
private $receivedMessages;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Make")
*/
private $makes;
/**
* @ORM\Column(type="string", length=128, nullable=true)
*/
private $resetPasswordKey;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $zipCode;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $city;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $street;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $propertyNumber;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $apartmentNumber;
/**
* @ORM\Column(type="boolean", options={"default": false})
*/
private $showOtherOffers;
/**
* @ORM\Column(type="boolean", options={"default": false})
*/
private $dontShowCompanyNameOtherOffers = false;
/**
* @ORM\Column(type="boolean", options={"default": false})
*/
private $igp = false;
/**
* @ORM\OneToMany(targetEntity="App\Entity\CustomerAddress", mappedBy="customer", orphanRemoval=true, cascade={"persist"})
*/
private $addresses;
/**
* @ORM\OneToMany(targetEntity="App\Entity\CustomerInvoiceAddress", mappedBy="customer", orphanRemoval=true, cascade={"persist"})
*/
private $invoiceAddresses;
/**
* @ORM\OneToMany(targetEntity="App\Entity\ContactPerson", mappedBy="customer", orphanRemoval=true, cascade={"persist"})
*/
private $persons;
/**
* @ORM\Column(type="boolean", options={"default": false})
*/
private $canChooseSuppliers = true;
/**
* @ORM\Column(type="boolean", options={"default": false})
*/
private $canSeeSupplierData;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Notification", mappedBy="author")
*/
private $notifications_author;
/**
* @ORM\OneToMany(targetEntity="App\Entity\Notification", mappedBy="recipient")
*/
private $notifications;
/**
* @ORM\Column(type="boolean", options={"default": false})
*/
private $showOtherOffersBeforePurchase = true;
/**
* @ORM\Column(type="boolean", options={"default": false})
*/
private $showOnlyRetailPriceAndDeliveryDate = false;
/** @ORM\Column(type="boolean", options={"default": true}) */
private $notificationsOfferNotification = true;
/** @ORM\Column(type="boolean", options={"default": true}) */
private $notificationsOfferMail = true;
/** @ORM\Column(type="boolean", options={"default": true}) */
private $notificationsInquiryNotification = true;
/** @ORM\Column(type="boolean", options={"default": true}) */
private $notificationsInquiryMail = true;
/** @ORM\Column(type="boolean", options={"default": true}) */
private $notificationsInvoiceNotification = true;
/** @ORM\Column(type="boolean", options={"default": true}) */
private $notificationsInvoiceMail = true;
/** @ORM\Column(type="boolean", options={"default": false}) */
private $canDeletePrivateMessages = false;
/** @ORM\Column(type="boolean", options={"default": true}) */
private $canSeeOtherSuppliersOfHisMakes = false;
/** @ORM\Column(type="boolean", options={"default": true}) */
private $canGetNotificationsAboutBetterOffer = true;
/** @ORM\Column(type="boolean", options={"default": false}) */
private $deliveryForWholeCountry = false;
/** @ORM\Column(type="boolean", options={"default": false}) */
private $showMessageForCustomer = false;
/** @ORM\Column(type="text", nullable=true) */
private $messageForCustomer;
/** @ORM\Column(type="boolean", options={"default": false}) */
private $warnSuppliersAboutThisCustomerPayments = false;
/** @ORM\Column(type="boolean", options={"default": false}) */
private $avoidUserForCreateNewInquiries = false;
/** @ORM\Column(type="boolean", options={"default": true}) */
private $showStatsForSupplier = true;
/** @ORM\Column(type="text", nullable=true) */
private $supplierCard = '';
/** @ORM\Column(type="string", length=255, nullable=true) */
private $supplierCardShort;
/** @ORM\Column(type="boolean", options={"default": false}) */
private $supplierCardActive = false;
/** @ORM\Column(type="boolean", options={"default": false}) */
private $showWonOffersTotalValue = false;
/** @ORM\Column(type="boolean", options={"default": false}) */
private $showOrderedPartsStats = false;
/** @ORM\ManyToMany(targetEntity="App\Entity\Inquiry", orphanRemoval=true, mappedBy="choosedSuppliers" ) */
private $choosedForInquiries;
/** @ORM\Column(type="boolean", options={"default" : false}) */
private bool $regulationsAccepted = false;
//pola wyliczeniowe
/** @var ?string */
private $lastLogin = null;
/** @var ?string */
private $lastOrderDate = null;
/** @var ?string */
private $lastPeriodOrderValue = null;
/** @var ?string */
private $lastPeriodSellValue = null;
/** @var ?int */
private $loginCount = null;
/** @var ?int */
private $inquiriesCount = null;
/** @var ?int */
private $offersCount = null;
public function __construct(string $username = null) {
$this->username = $username;
$this->salt = md5(uniqid('salt', true));
$this->createdAt = new DateTime();
$this->registerKey = md5(uniqid('registerKey', true));
$this->inquiries = new ArrayCollection();
$this->offers = new ArrayCollection();
$this->password = '';
$this->ratings = new ArrayCollection();
$this->privateMessages = new ArrayCollection();
$this->receivedMessages = new ArrayCollection();
$this->makes = new ArrayCollection();
$this->addresses = new ArrayCollection();
$this->invoiceAddresses = new ArrayCollection();
$this->notifications = new ArrayCollection();
$this->persons = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getCompanyName(): ?string
{
return $this->companyName;
}
public function setCompanyName(string $companyName): self
{
$this->companyName = $companyName;
return $this;
}
public function getNIP(): ?int
{
return $this->NIP;
}
public function setNIP($NIP): self
{
$this->NIP = preg_replace("/[^0-9]+/", "", $NIP);
return $this;
}
public function getUsername(): ?string
{
return $this->username;
}
public function setUsername(string $username): self
{
$this->username = $username;
return $this;
}
public function getPassword(): ?string
{
return $this->password;
}
public function setPassword(string $password): self
{
$this->password = $password;
return $this;
}
public function getPhoneNumber(): ?string
{
return $this->phoneNumber;
}
public function setPhoneNumber(?string $phoneNumber): self
{
$this->phoneNumber = $phoneNumber;
return $this;
}
public function getLastInquiryDate(): ?\DateTimeInterface
{
return $this->lastInquiryDate;
}
public function setLastInquiryDate(?\DateTimeInterface $lastInquiryDate): self
{
$this->lastInquiryDate = $lastInquiryDate;
return $this;
}
public function getLastOfferDate(): ?\DateTimeInterface
{
return $this->lastOfferDate;
}
public function setLastOfferDate(?\DateTimeInterface $lastOfferDate): self
{
$this->lastOfferDate = $lastOfferDate;
return $this;
}
public function getIsRecipient(): ?bool
{
return $this->isRecipient;
}
public function setIsRecipient(bool $isRecipient): self
{
$this->isRecipient = $isRecipient;
return $this;
}
public function getIsSupplier(): ?bool
{
return $this->isSupplier;
}
public function setIsSupplier(bool $isSupplier): self
{
$this->isSupplier = $isSupplier;
return $this;
}
public function setRoles(array $roles)
{
$this->roles = $roles;
}
public function eraseCredentials()
{
}
public function getRoles() : ?array
{
return $this->roles;
}
public function getSalt() : ?string
{
return $this->salt;
}
public function getRegisterKey() : ?string
{
return $this->registerKey;
}
public function setRegisterKey(?string $registerKey)
{
$this->registerKey = $registerKey;
}
/**
* @return Collection|Inquiry[]
*/
public function getInquiries(): Collection
{
return $this->inquiries;
}
public function addInquiry(Inquiry $inquiry): self
{
if (!$this->inquiries->contains($inquiry)) {
$this->inquiries[] = $inquiry;
$inquiry->setRecipient($this);
}
return $this;
}
public function removeInquiry(Inquiry $inquiry): self
{
if ($this->inquiries->contains($inquiry)) {
$this->inquiries->removeElement($inquiry);
// set the owning side to null (unless already changed)
if ($inquiry->getRecipient() === $this) {
$inquiry->setRecipient(null);
}
}
return $this;
}
/**
* @return Collection|CustomerAddress[]
*/
public function getAddresses(): Collection
{
return $this->addresses;
}
public function addAddress(CustomerAddress $address): self
{
if (!$this->addresses->contains($address)) {
$this->addresses[] = $address;
$address->setCustomer($this);
}
return $this;
}
public function setAddresses(ArrayCollection $addresses) : self
{
$this->addresses = $addresses;
return $this;
}
public function removeAddress(CustomerAddress $address): self
{
if ($this->addresses->contains($address)) {
$this->addresses->removeElement($address);
if ($address->getCustomer() === $this) {
$address->setCustomer(null);
}
}
return $this;
}
/* @return Collection|CustomerInvoiceAddress[] */
public function getInvoiceAddresses(): Collection
{
return $this->invoiceAddresses;
}
public function addInvoiceAddress(CustomerInvoiceAddress $invoiceAddress): self
{
if (!$this->invoiceAddresses->contains($invoiceAddress)) {
$this->invoiceAddresses[] = $invoiceAddress;
$invoiceAddress->setCustomer($this);
}
return $this;
}
public function setInvoiceAddresses(ArrayCollection $invoiceAddresses) : self
{
$this->invoiceAddresses = $invoiceAddresses;
return $this;
}
public function removeInvoiceAddress(CustomerInvoiceAddress $invoiceAddress): self
{
if ($this->invoiceAddresses->contains($invoiceAddress)) {
$this->invoiceAddresses->removeElement($invoiceAddress);
if ($invoiceAddress->getCustomer() === $this) {
$invoiceAddress->setCustomer(null);
}
}
return $this;
}
/** @return Collection|ContactPerson[] */
public function getPersons(): Collection
{
return $this->persons;
}
public function addPerson(ContactPerson $person): self
{
if (!$this->persons->contains($person)) {
$this->persons[] = $person;
$person->setCustomer($this);
}
return $this;
}
public function setPersons(ArrayCollection $persons) : self
{
$this->persons = $persons;
return $this;
}
public function removePerson(ContactPerson $person): self
{
if ($this->persons->contains($person)) {
$this->persons->removeElement($person);
if ($person->getCustomer() === $this) {
$person->setCustomer(null);
}
}
return $this;
}
/**
* @return Collection|Offer[]
*/
public function getOffers(): Collection
{
return $this->offers;
}
public function addOffer(Offer $offer): self
{
if (!$this->offers->contains($offer)) {
$this->offers[] = $offer;
$offer->setSupplier($this);
}
return $this;
}
public function removeOffer(Offer $offer): self
{
if ($this->offers->contains($offer)) {
$this->offers->removeElement($offer);
// set the owning side to null (unless already changed)
if ($offer->getSupplier() === $this) {
$offer->setSupplier(null);
}
}
return $this;
}
public function __toString()
{
if ($this->getCompanyName() !== null) {
return $this->getCompanyName();
} else {
return '';
}
}
/**
* @return Collection|Rating[]
*/
public function getRatings(): Collection
{
return $this->ratings;
}
public function addRating(Rating $rating): self
{
if (!$this->ratings->contains($rating)) {
$this->ratings[] = $rating;
$rating->setAuthor($this);
}
return $this;
}
public function removeRating(Rating $rating): self
{
if ($this->ratings->contains($rating)) {
$this->ratings->removeElement($rating);
// set the owning side to null (unless already changed)
if ($rating->getAuthor() === $this) {
$rating->setAuthor(null);
}
}
return $this;
}
/**
* @return Collection|PrivateMessage[]
*/
public function getPrivateMessages(): Collection
{
return $this->privateMessages;
}
public function addPrivateMessage(PrivateMessage $privateMessage): self
{
if (!$this->privateMessages->contains($privateMessage)) {
$this->privateMessages[] = $privateMessage;
$privateMessage->setAuthor($this);
}
return $this;
}
public function removePrivateMessage(PrivateMessage $privateMessage): self
{
if ($this->privateMessages->contains($privateMessage)) {
$this->privateMessages->removeElement($privateMessage);
// set the owning side to null (unless already changed)
if ($privateMessage->getAuthor() === $this) {
$privateMessage->setAuthor(null);
}
}
return $this;
}
/**
* @return Collection|PrivateMessage[]
*/
public function getReceivedMessages(): Collection
{
return $this->receivedMessages;
}
public function addReceivedMessage(PrivateMessage $receivedMessage): self
{
if (!$this->receivedMessages->contains($receivedMessage)) {
$this->receivedMessages[] = $receivedMessage;
$receivedMessage->setRecipient($this);
}
return $this;
}
public function removeReceivedMessage(PrivateMessage $receivedMessage): self
{
if ($this->receivedMessages->contains($receivedMessage)) {
$this->receivedMessages->removeElement($receivedMessage);
// set the owning side to null (unless already changed)
if ($receivedMessage->getRecipient() === $this) {
$receivedMessage->setRecipient(null);
}
}
return $this;
}
/**
* @return Collection|Make[]
*/
public function getMakes(): Collection
{
return $this->makes;
}
public function addMake(Make $make): self
{
if (!$this->makes->contains($make)) {
$this->makes[] = $make;
}
return $this;
}
public function removeMake(Make $make): self
{
if ($this->makes->contains($make)) {
$this->makes->removeElement($make);
}
return $this;
}
public function getResetPasswordKey(): ?string
{
return $this->resetPasswordKey;
}
public function setResetPasswordKey(?string $resetPasswordKey): self
{
$this->resetPasswordKey = $resetPasswordKey;
return $this;
}
public function getApartmentNumber()
{
return $this->apartmentNumber;
}
public function getCity()
{
return $this->city;
}
public function getPropertyNumber()
{
return $this->propertyNumber;
}
public function getStreet()
{
return $this->street;
}
public function getZipCode()
{
return $this->zipCode;
}
public function setApartmentNumber($apartmentNumber)
{
$this->apartmentNumber = $apartmentNumber;
}
public function setCity($city)
{
$this->city = $city;
}
public function setPropertyNumber($propertyNumber)
{
$this->propertyNumber = $propertyNumber;
}
public function setStreet($street)
{
$this->street = $street;
}
public function setZipCode($zipCode)
{
$this->zipCode = $zipCode;
}
public function getShowOtherOffers()
{
return $this->showOtherOffers;
}
public function setShowOtherOffers($showOtherOffers): void
{
$this->showOtherOffers = $showOtherOffers;
}
public function getCanChooseSuppliers()
{
return $this->canChooseSuppliers;
}
public function setCanChooseSuppliers($canChooseSuppliers)
{
$this->canChooseSuppliers = $canChooseSuppliers;
return $this;
}
public function getCanSeeSupplierData()
{
return $this->canSeeSupplierData;
}
public function setCanSeeSupplierData($canSeeSupplierData)
{
$this->canSeeSupplierData = $canSeeSupplierData;
return $this;
}
/**
* @return Collection|Notification[]
*/
public function getNotifications(): Collection
{
return $this->notifications;
}
public function addNotification(Notification $notification): self
{
if (!$this->notifications->contains($notification)) {
$this->notifications[] = $notification;
$notification->setAuthor($this);
}
return $this;
}
public function removeNotification(Notification $notification): self
{
if ($this->notifications->contains($notification)) {
$this->notifications->removeElement($notification);
// set the owning side to null (unless already changed)
if ($notification->getAuthor() === $this) {
$notification->setAuthor(null);
}
}
return $this;
}
/**
* @return Collection|Notification[]
*/
public function getNotificationsAuthor(): Collection
{
return $this->notifications_author;
}
public function addNotificationsAuthor(Notification $notificationsAuthor): self
{
if (!$this->notifications_author->contains($notificationsAuthor)) {
$this->notifications_author[] = $notificationsAuthor;
$notificationsAuthor->setAuthor($this);
}
return $this;
}
public function removeNotificationsAuthor(Notification $notificationsAuthor): self
{
if ($this->notifications_author->contains($notificationsAuthor)) {
$this->notifications_author->removeElement($notificationsAuthor);
// set the owning side to null (unless already changed)
if ($notificationsAuthor->getAuthor() === $this) {
$notificationsAuthor->setAuthor(null);
}
}
return $this;
}
/**
* @return mixed
*/
public function getShowOtherOffersBeforePurchase()
{
return $this->showOtherOffersBeforePurchase;
}
/**
* @param mixed $showOtherOffersBeforePurchase
*/
public function setShowOtherOffersBeforePurchase($showOtherOffersBeforePurchase): void
{
$this->showOtherOffersBeforePurchase = $showOtherOffersBeforePurchase;
}
/** @param bool $notificationsInquiryMail */
public function setNotificationsInquiryMail(bool $notificationsInquiryMail): void
{
$this->notificationsInquiryMail = $notificationsInquiryMail;
}
/** @param bool $notificationsInquiryNotification */
public function setNotificationsInquiryNotification(bool $notificationsInquiryNotification): void
{
$this->notificationsInquiryNotification = $notificationsInquiryNotification;
}
/** @param bool $notificationsInvoiceMail */
public function setNotificationsInvoiceMail(bool $notificationsInvoiceMail): void
{
$this->notificationsInvoiceMail = $notificationsInvoiceMail;
}
/** @param bool $notificationsInvoiceNotification */
public function setNotificationsInvoiceNotification(bool $notificationsInvoiceNotification): void
{
$this->notificationsInvoiceNotification = $notificationsInvoiceNotification;
}
/** @param bool $notificationsOfferMail */
public function setNotificationsOfferMail(bool $notificationsOfferMail): void
{
$this->notificationsOfferMail = $notificationsOfferMail;
}
/** @param bool $notificationsOfferNotification */
public function setNotificationsOfferNotification(bool $notificationsOfferNotification): void
{
$this->notificationsOfferNotification = $notificationsOfferNotification;
}
/** @return bool */
public function isNotificationsInquiryMail(): bool
{
return $this->notificationsInquiryMail;
}
/** @return bool */
public function isNotificationsInquiryNotification(): bool
{
return $this->notificationsInquiryNotification;
}
/** @return bool */
public function isNotificationsInvoiceMail(): bool
{
return $this->notificationsInvoiceMail;
}
/** @return bool */
public function isNotificationsInvoiceNotification(): bool
{
return $this->notificationsInvoiceNotification;
}
/** @return bool */
public function isNotificationsOfferMail(): bool
{
return $this->notificationsOfferMail;
}
/** @return bool */
public function isNotificationsOfferNotification(): bool
{
return $this->notificationsOfferNotification;
}
/** @param bool $dontShowCompanyNameOtherOffers */
public function setDontShowCompanyNameOtherOffers(bool $dontShowCompanyNameOtherOffers): void
{
$this->dontShowCompanyNameOtherOffers = $dontShowCompanyNameOtherOffers;
}
/** @return bool */
public function isDontShowCompanyNameOtherOffers(): bool
{
return $this->dontShowCompanyNameOtherOffers;
}
/** @return bool */
public function isIgp(): bool
{
return $this->igp;
}
/** @param bool $igp */
public function setIgp(bool $igp): void
{
$this->igp = $igp;
}
/** @return bool */
public function isShowOnlyRetailPriceAndDeliveryDate(): bool
{
return $this->showOnlyRetailPriceAndDeliveryDate;
}
/** @param bool $showOnlyRetailPriceAndDeliveryDate */
public function setShowOnlyRetailPriceAndDeliveryDate(bool $showOnlyRetailPriceAndDeliveryDate): void
{
$this->showOnlyRetailPriceAndDeliveryDate = $showOnlyRetailPriceAndDeliveryDate;
}
/** @return bool */
public function isCanDeletePrivateMessages(): bool
{
return $this->canDeletePrivateMessages;
}
/** @param bool $canDeletePrivateMessages */
public function setCanDeletePrivateMessages(bool $canDeletePrivateMessages): void
{
$this->canDeletePrivateMessages = $canDeletePrivateMessages;
}
/** @return mixed */
public function getChoosedForInquiries()
{
return $this->choosedForInquiries;
}
/** @param mixed $choosedForInquiries */
public function setChoosedForInquiries($choosedForInquiries): void
{
$this->choosedForInquiries = $choosedForInquiries;
}
/** @return bool */
public function isCanSeeOtherSuppliersOfHisMakes(): bool
{
return $this->canSeeOtherSuppliersOfHisMakes;
}
/** @param bool $canSeeOtherSuppliersOfHisMakes */
public function setCanSeeOtherSuppliersOfHisMakes(bool $canSeeOtherSuppliersOfHisMakes): void
{
$this->canSeeOtherSuppliersOfHisMakes = $canSeeOtherSuppliersOfHisMakes;
}
/** @return bool */
public function isCanGetNotificationsAboutBetterOffer(): bool
{
return $this->canGetNotificationsAboutBetterOffer;
}
/** @param bool $canGetNotificationsAboutBetterOffer */
public function setCanGetNotificationsAboutBetterOffer(bool $canGetNotificationsAboutBetterOffer): void
{
$this->canGetNotificationsAboutBetterOffer = $canGetNotificationsAboutBetterOffer;
}
/** @return bool */
public function isDeliveryForWholeCountry(): bool
{
return $this->deliveryForWholeCountry;
}
/** @param bool $deliveryForWholeCountry */
public function setDeliveryForWholeCountry(bool $deliveryForWholeCountry): void
{
$this->deliveryForWholeCountry = $deliveryForWholeCountry;
}
/** @return mixed */
public function getMessageForCustomer()
{
return $this->messageForCustomer;
}
/** @param mixed $messageForCustomer */
public function setMessageForCustomer($messageForCustomer): void
{
$this->messageForCustomer = $messageForCustomer;
}
/** @return bool */
public function isShowMessageForCustomer(): bool
{
return $this->showMessageForCustomer;
}
/** @param bool $showMessageForCustomer */
public function setShowMessageForCustomer(bool $showMessageForCustomer): void
{
$this->showMessageForCustomer = $showMessageForCustomer;
}
/** @return bool */
public function isWarnSuppliersAboutThisCustomerPayments(): bool
{
return $this->warnSuppliersAboutThisCustomerPayments;
}
/** @param bool $warnSuppliersAboutThisCustomerPayments */
public function setWarnSuppliersAboutThisCustomerPayments(bool $warnSuppliersAboutThisCustomerPayments): void
{
$this->warnSuppliersAboutThisCustomerPayments = $warnSuppliersAboutThisCustomerPayments;
}
/** @return bool */
public function isAvoidUserForCreateNewInquiries(): bool
{
return $this->avoidUserForCreateNewInquiries;
}
/** @param bool $avoidUserForCreateNewInquiries */
public function setAvoidUserForCreateNewInquiries(bool $avoidUserForCreateNewInquiries): void
{
$this->avoidUserForCreateNewInquiries = $avoidUserForCreateNewInquiries;
}
/** @return bool */
public function isShowStatsForSupplier(): bool
{
return $this->showStatsForSupplier;
}
/** @param bool $showStatsForSupplier */
public function setShowStatsForSupplier(bool $showStatsForSupplier): void
{
$this->showStatsForSupplier = $showStatsForSupplier;
}
/** @return ?string */
public function getSupplierCard(): ?string
{
return $this->supplierCard;
}
/** @param string $supplierCard */
public function setSupplierCard(?string $supplierCard): void
{
$this->supplierCard = $supplierCard;
}
/** @return mixed */
public function getSupplierCardShort()
{
return $this->supplierCardShort;
}
/** @param mixed $supplierCardShort */
public function setSupplierCardShort($supplierCardShort): void
{
$this->supplierCardShort = $supplierCardShort;
}
/** @return bool */
public function isSupplierCardActive(): bool
{
return $this->supplierCardActive;
}
/** @param bool $supplierCardActive */
public function setSupplierCardActive(bool $supplierCardActive): void
{
$this->supplierCardActive = $supplierCardActive;
}
/** @return bool */
public function isShowWonOffersTotalValue(): bool
{
return $this->showWonOffersTotalValue;
}
/** @param bool $showWonOffersTotalValue */
public function setShowWonOffersTotalValue(bool $showWonOffersTotalValue): void
{
$this->showWonOffersTotalValue = $showWonOffersTotalValue;
}
/** @return bool */
public function isShowOrderedPartsStats(): bool
{
return $this->showOrderedPartsStats;
}
/** @param bool $showOrderedPartsStats */
public function setShowOrderedPartsStats(bool $showOrderedPartsStats): void
{
$this->showOrderedPartsStats = $showOrderedPartsStats;
}
/** @param string|null $lastLogin */
public function setLastLogin(?string $lastLogin): void
{
$this->lastLogin = $lastLogin;
}
/** @return string|null */
public function getLastLogin(): ?string
{
return $this->lastLogin;
}
/** @return string|null */
public function getLastOrderDate(): ?string
{
return $this->lastOrderDate;
}
/** @param string|null $lastOrderDate */
public function setLastOrderDate(?string $lastOrderDate): void
{
$this->lastOrderDate = $lastOrderDate;
}
/** @return string|null */
public function getLastPeriodOrderValue(): ?string
{
return $this->lastPeriodOrderValue;
}
/** @param string|null $lastPeriodOrderValue */
public function setLastPeriodOrderValue(?string $lastPeriodOrderValue): void
{
$this->lastPeriodOrderValue = $lastPeriodOrderValue;
}
/** @return string|null */
public function getLastPeriodSellValue(): ?string
{
return $this->lastPeriodSellValue;
}
/** @param string|null $lastPeriodSellValue */
public function setLastPeriodSellValue(?string $lastPeriodSellValue): void
{
$this->lastPeriodSellValue = $lastPeriodSellValue;
}
/** @return int|null */
public function getLoginCount(): ?int
{
return $this->loginCount;
}
/** @param int|null $loginCount */
public function setLoginCount(?int $loginCount): void
{
$this->loginCount = $loginCount;
}
/** @return int|null */
public function getInquiriesCount(): ?int
{
return $this->inquiriesCount;
}
/** @param int|null $inquiriesCount */
public function setInquiriesCount(?int $inquiriesCount): void
{
$this->inquiriesCount = $inquiriesCount;
}
/** @return int|null */
public function getOffersCount(): ?int
{
return $this->offersCount;
}
/** @param int|null $offersCount */
public function setOffersCount(?int $offersCount): void
{
$this->offersCount = $offersCount;
}
/** @return bool */
public function isRegulationsAccepted(): bool
{
return $this->regulationsAccepted;
}
/** @param bool $regulationsAccepted */
public function setRegulationsAccepted(bool $regulationsAccepted): void
{
$this->regulationsAccepted = $regulationsAccepted;
}
}