src/Entity/User.php line 800

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use ApiPlatform\Metadata\GetCollection;
  4. use ApiPlatform\Metadata\Patch;
  5. use ApiPlatform\Metadata\Get;
  6. use ApiPlatform\Metadata\ApiResource;
  7. use ApiPlatform\Metadata\ApiProperty;
  8. use ApiPlatform\Metadata\ApiFilter;
  9. use ApiPlatform\Metadata\Post;
  10. use App\Entity\Accounting\Draft;
  11. use App\Entity\Accounting\OADA\CompanyAccount;
  12. use App\Entity\Accounting\OADA\FiscalYear;
  13. use App\Entity\Accounting\OADA\OADAAccount;
  14. use App\Entity\Accounting\OADA\OperationAccount;
  15. use App\Entity\Accounting\OADA\Transaction;
  16. use App\Entity\Docs\Finance\AccountProject;
  17. use App\Entity\Docs\Finance\CashReturn;
  18. use App\Entity\Docs\Finance\Justification;
  19. use App\Entity\Docs\Finance\Payment\Membre\Account;
  20. use App\Entity\Docs\Finance\Payment\Operation;
  21. use App\Entity\Docs\Finance\Payment\Transfer;
  22. use App\Entity\Docs\Finance\V2\Budget\BudgetSection;
  23. use App\Entity\Docs\Gouv\F01;
  24. use App\Entity\Docs\Gouv\F02;
  25. use App\Entity\Docs\Gouv\F03;
  26. use App\Entity\Logistics\V2\AssetManagement\MaterialAsset;
  27. use App\Entity\Logistics\V2\AssetManagement\TypeMaterialAsset;
  28. use App\Entity\Logistics\V2\AssetManagement\UseOfAsset;
  29. use App\Entity\Utils\Contact;
  30. use App\Entity\Docs\Task\Task;
  31. use App\Entity\Address\Address;
  32. use App\Entity\Company\Company;
  33. use Doctrine\ORM\Mapping as ORM;
  34. use App\Entity\Department\Section;
  35. use App\Repository\UserRepository;
  36. use App\Entity\Department\Activity;
  37. use App\Entity\Docs\Finance\Budget;
  38. use App\Entity\Docs\Logistic\Quote;
  39. use App\Entity\Docs\Finance\Airtime;
  40. use App\Entity\Docs\Finance\Funding;
  41. use App\Entity\Docs\Finance\Payment;
  42. use App\Entity\Docs\Finance\Project;
  43. use App\Entity\Docs\Finance\Receipt;
  44. use App\Entity\Utils\TimestampTrait;
  45. use App\Entity\Department\Department;
  46. use App\Entity\Docs\Logistic\Provider;
  47. use App\Entity\Docs\Finance\BudgetLine;
  48. use App\Entity\Docs\Gouv\Census\Census;
  49. use App\Entity\Docs\Gouv\Census\Member;
  50. use App\Entity\Docs\Finance\CashJournal;
  51. use App\Entity\Docs\Finance\Requisition;
  52. use App\Entity\Docs\HumanResource\Award;
  53. use App\Entity\Docs\HumanResource\Leave;
  54. use App\Entity\Docs\Administration\Visit;
  55. use App\Entity\Utils\AccountVerification;
  56. use App\Entity\Docs\Gouv\Police\Procedure;
  57. use App\Entity\Docs\Gouv\Population\Birth;
  58. use App\Entity\Docs\Gouv\Population\Death;
  59. use App\Entity\Docs\HumanResource\Caution;
  60. use App\Controller\Api\UserPatchController;
  61. use App\Entity\Docs\Administration\Courier;
  62. use App\Entity\Docs\Finance\AccountJournal;
  63. use App\Entity\Docs\HumanResource\Contract;
  64. use App\Entity\Docs\HumanResource\Presence;
  65. use App\Entity\Docs\Logistic\PurchaseOrder;
  66. use Doctrine\Common\Collections\Collection;
  67. use App\Entity\Docs\Gouv\Population\Wedding;
  68. use App\Entity\Docs\Finance\BudgetMonitoring;
  69. use App\Entity\Docs\Gouv\Finance\DepositSlip;
  70. use App\Entity\Docs\HumanResource\Perfomance;
  71. use App\Entity\Docs\Finance\BackgroundReceipt;
  72. use App\Controller\Api\Auth\UserLoadController;
  73. use App\Entity\Docs\Gouv\Population\Emigration;
  74. use App\Entity\Docs\Gouv\Population\Imigration;
  75. use App\Entity\Docs\HumanResource\Disciplinary;
  76. use Doctrine\Common\Collections\ArrayCollection;
  77. use App\Entity\Docs\HumanResource\JobDescription;
  78. use App\Entity\Docs\Gouv\Census\ForeignPopulation;
  79. use App\Entity\Docs\Gouv\Census\InternalPopulation;
  80. use App\Entity\Docs\Gouv\PMEA\OpeningAuthorization;
  81. use Symfony\Component\Serializer\Annotation\Groups;
  82. use App\Entity\Docs\Finance\Requisition\Observation;
  83. use Symfony\Component\Security\Core\User\UserInterface;
  84. use App\Entity\Docs\Administration\ExternalCommunication;
  85. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  86. use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
  87. use App\Entity\Utils\RMQTrait;
  88. use App\State\Providers\AllUsersByCompanyUserProcessor;
  89. use App\State\UserProfileProvider;
  90. use Symfony\Component\Validator\Constraints as Assert;
  91. use App\State\User\UserProcessor;
  92. /**
  93.  * @ORM\HasLifecycleCallbacks ()
  94.  * @ORM\Entity (repositoryClass=UserRepository::class)
  95.  * @UniqueEntity (fields={"email"}, message="There is already an account with this email")
  96.  * @UniqueEntity (fields={"phoneNumber"}, message="There is already an account with this phone number")
  97.  */
  98. #[GetCollection(
  99.     uriTemplate:"/v2/users/my_company",
  100.     provider:AllUsersByCompanyUserProcessor::class,
  101.     normalizationContext:["groups" => ["user.info"]],
  102. )]
  103. #[GetCollection(
  104.     uriTemplate:"/user/other/profile",
  105.     provider:UserProfileProvider::class,
  106.     normalizationContext:["groups" => ["user.info"]],
  107. )]
  108. #[
  109.     Post(
  110.         uriTemplate:"/v2/user/",
  111.         //provider:
  112.         processorUserProcessor::class
  113.     )
  114. ]
  115. class User implements UserInterfacePasswordAuthenticatedUserInterface
  116. {
  117.     use TimestampTraitRMQTrait;
  118.     /**
  119.      * @ORM\Id
  120.      * @ORM\GeneratedValue
  121.      * @ORM\Column (type="integer")
  122.      * @Groups ({"user:fRead", "app:params:get","rmq:user","user.info"})
  123.      */
  124.     #[ApiProperty(identifierfalse)]
  125.     private $id;
  126.     /**
  127.      * @ORM\Column(type="string", length=180, unique=true)
  128.      * @Groups({"user.details", "app:params:get", "user.patch","rmq:user"})
  129.      */
  130.     #[Assert\NotBlank()]
  131.     #[Assert\NotNull()]
  132.     #[Assert\Email()]
  133.     private $email;
  134.     /**
  135.      * @ORM\Column(type="json")
  136.      * @Groups({"user.details","rmq:user"})
  137.      */
  138.     private $roles = [];
  139.     /**
  140.      * @var string The hashed password
  141.      * @ORM\Column(type="string")
  142.      * @Groups({"user.patch"})
  143.      */
  144.     #[Assert\NotBlank()]
  145.     #[Assert\NotNull()]
  146.     private $password;
  147.     /**
  148.      * @ORM\Column(type="boolean")
  149.      */
  150.     private $isVerified false;
  151.     /**
  152.      * @ORM\Column(type="string", length=255)
  153.      * @Groups({"user.details", "app:params:get", "user.info", "user.patch","rmq:user"})
  154.      */
  155.     #[Assert\NotBlank()]
  156.     #[Assert\NotNull()]
  157.     private $name;
  158.     /**
  159.      * @ORM\Column(type="string", length=255, nullable=true)
  160.      * @Groups({"user.details", "app:params:get", "user.patch","rmq:user","user.info"})
  161.      */
  162.     #[Assert\NotBlank()]
  163.     #[Assert\NotNull()]
  164.     private $lastname;
  165.     /**
  166.      * @ORM\Column(type="string", length=255)
  167.      * @Groups({"user.details", "app:params:get", "user.info", "user.patch","rmq:user"})
  168.      */
  169.     #[Assert\NotBlank()]
  170.     #[Assert\NotNull()]
  171.     private $firstname;
  172.     /**
  173.      * @ORM\Column(type="string", length=255, nullable=true, unique=true)
  174.      * @Groups({"user.details"})
  175.      */
  176.     private $username;
  177.     /** 
  178.      * @Groups({"user.details", "app:params:get","user.info", "user.patch","user:fRead","requisition:fread","requisition:read","requisition:create","payment:read","receipt:fRead","atime:fread","presence:read"})
  179.      */
  180.     protected $names;
  181.     /** 
  182.      * @Groups({"user.details", "user.patch","requisition:fread","requisition:read","requisition:create","payment:read"})
  183.      */
  184.     private $fullname;
  185.     /**
  186.      * @ORM\Column(type="string", length=255)
  187.      * @Groups({"user.details", "user.patch"})
  188.      */
  189.     private $sexe;
  190.     /**
  191.      * @ORM\Column (type="string", length=255, unique=true)
  192.      * @Groups ({
  193.      *  "user.details", 
  194.      *  "id", 
  195.      *  "user.patch",
  196.      *  "requisition:fread",
  197.      *  "requisition:read",
  198.      *  "payment:read",
  199.      *  "receipt:fRead",
  200.      *  "atime:fread",
  201.      *  "rmq:user",
  202.      *  "user.info"
  203.      * })
  204.      */
  205.     #[Assert\NotBlank()]
  206.     #[Assert\NotNull()]
  207.     #[ApiProperty(description'The phone number'identifiertrue)]
  208.     private $phoneNumber;
  209.     /**
  210.      * @var string|null
  211.      * @ORM\Column(type="string", length=255, unique=true, nullable=true)
  212.      * @Groups({"user.details"})
  213.      */
  214.     private $apiToken;
  215.     /**
  216.      * @ORM\OneToOne(targetEntity=Address::class, cascade={"persist", "remove"})
  217.      */
  218.     private $address;
  219.     /**
  220.      * @ORM\OneToOne(targetEntity="App\Entity\Utils\AccountVerification", cascade={"persist", "remove"})
  221.      */
  222.     private $accountVerification;
  223.     /**
  224.      * @ORM\ManyToOne(targetEntity="App\Entity\Department\Department", inversedBy="users")
  225.      * @Groups({
  226.      *  "user:fRead",
  227.      *  "requisition:fread",
  228.      *  "receipt:fRead",
  229.      *  "atime:fread",
  230.      *  "presence:read",
  231.      *  "rmq:user",
  232.      *  "user.details"
  233.      * })
  234.      */
  235.     private $department;
  236.     /**
  237.      * @ORM\ManyToOne(targetEntity="App\Entity\Company\Company", inversedBy="users")
  238.      */
  239.     private $company;
  240.     /**
  241.      * @ORM\Column(type="string", length=255, nullable=true)
  242.      */
  243.     private $state;
  244.     /**
  245.      * @ORM\ManyToOne(targetEntity="App\Entity\Company\Company", inversedBy="owners")
  246.      */
  247.     private $companyOwner;
  248.     /**
  249.      * @ORM\ManyToMany(targetEntity="App\Entity\Department\Section", inversedBy="users")
  250.      */
  251.     private $sections;
  252.     /**
  253.      * @ORM\OneToMany(targetEntity=Visit::class, mappedBy="personVisited")
  254.      */
  255.     private $visits;
  256.     /**
  257.      * @ORM\OneToMany(targetEntity=JobDescription::class, mappedBy="agentIntended")
  258.      */
  259.     private $jobDescriptions;
  260.     /**
  261.      * @ORM\OneToMany(targetEntity=Disciplinary::class, mappedBy="intendedFor")
  262.      */
  263.     private $disciplinaries;
  264.     /**
  265.      * @ORM\ManyToOne(targetEntity=Activity::class, inversedBy="users")
  266.      */
  267.     private $functionDep;
  268.     /**
  269.      * @ORM\OneToMany(targetEntity=Contact::class, mappedBy="user")
  270.      */
  271.     private $contacts;
  272.     /**
  273.      * @ORM\OneToMany(targetEntity=Courier::class, mappedBy="owner")
  274.      */
  275.     private $couriers;
  276.     /**
  277.      * @ORM\OneToMany(targetEntity=ExternalCommunication::class, mappedBy="owner")
  278.      */
  279.     private $externalCommunications;
  280.     /**
  281.      * @ORM\OneToMany(targetEntity=Visit::class, mappedBy="owner")
  282.      */
  283.     private $ownerVisits;
  284.     /**
  285.      * @ORM\OneToMany(targetEntity=F02::class, mappedBy="owner")
  286.      */
  287.     private $f02s;
  288.     /**
  289.      * @ORM\OneToMany(targetEntity=F01::class, mappedBy="owner")
  290.      */
  291.     private $f01s;
  292.     /**
  293.      * @ORM\OneToMany(targetEntity=F03::class, mappedBy="owner")
  294.      */
  295.     private $f03s;
  296.     /**
  297.      * @ORM\OneToMany(targetEntity=Member::class, mappedBy="owner")
  298.      */
  299.     private $members;
  300.     /**
  301.      * @ORM\OneToMany(targetEntity=Census::class, mappedBy="owner")
  302.      */
  303.     private $censuses;
  304.     /**
  305.      * @ORM\OneToMany(targetEntity=ForeignPopulation::class, mappedBy="owner")
  306.      */
  307.     private $foreignPopulations;
  308.     /**
  309.      * @ORM\OneToMany(targetEntity=InternalPopulation::class, mappedBy="owner")
  310.      */
  311.     private $internalPopulations;
  312.     /**
  313.      * @ORM\OneToMany(targetEntity=DepositSlip::class, mappedBy="accountingOfficer")
  314.      */
  315.     private $depositSlips;
  316.     /**
  317.      * @ORM\OneToMany(targetEntity=DepositSlip::class, mappedBy="owner")
  318.      */
  319.     private $ownerDepositSlips;
  320.     /**
  321.      * @ORM\OneToMany(targetEntity=OpeningAuthorization::class, mappedBy="owner")
  322.      */
  323.     private $openingAuthorizations;
  324.     /**
  325.      * @ORM\OneToMany(targetEntity=Procedure::class, mappedBy="owner")
  326.      */
  327.     private $procedures;
  328.     /**
  329.      * @ORM\OneToMany(targetEntity=Birth::class, mappedBy="owner")
  330.      */
  331.     private $births;
  332.     /**
  333.      * @ORM\OneToMany(targetEntity=Death::class, mappedBy="owner")
  334.      */
  335.     private $deaths;
  336.     /**
  337.      * @ORM\OneToMany(targetEntity=Emigration::class, mappedBy="owner")
  338.      */
  339.     private $emigrations;
  340.     /**
  341.      * @ORM\OneToMany(targetEntity=Imigration::class, mappedBy="owner")
  342.      */
  343.     private $imigrations;
  344.     /**
  345.      * @ORM\OneToMany(targetEntity=Wedding::class, mappedBy="owner")
  346.      */
  347.     private $weddings;
  348.     /**
  349.      * @ORM\OneToMany(targetEntity=BackgroundReceipt::class, mappedBy="owner")
  350.      */
  351.     private $backgroundReceipts;
  352.     /**
  353.      * @ORM\OneToMany(targetEntity=AccountJournal::class, mappedBy="owner")
  354.      */
  355.     private $accountJournals;
  356.     /**
  357.      * @ORM\OneToMany(targetEntity=CashJournal::class, mappedBy="owner")
  358.      */
  359.     private $cashJournals;
  360.     /**
  361.      * @ORM\OneToMany(targetEntity=BudgetMonitoring::class, mappedBy="owner")
  362.      */
  363.     private $budgetMonitorings;
  364.     /**
  365.      * @ORM\OneToMany(targetEntity=Provider::class, mappedBy="owner")
  366.      */
  367.     private $providers;
  368.     /**
  369.      * @ORM\OneToMany(targetEntity=Quote::class, mappedBy="owner")
  370.      */
  371.     private $quotes;
  372.     /**
  373.      * @ORM\OneToMany(targetEntity=PurchaseOrder::class, mappedBy="owner")
  374.      */
  375.     private $purchaseOrders;
  376.     /**
  377.      * @ORM\OneToMany(targetEntity=Project::class, mappedBy="owner")
  378.      */
  379.     private $projects;
  380.     /**
  381.      * @ORM\OneToMany(targetEntity=BudgetLine::class, mappedBy="owner")
  382.      */
  383.     private $budgetLines;
  384.     /**
  385.      * @ORM\OneToMany(targetEntity=Funding::class, mappedBy="owner")
  386.      */
  387.     private $fundings;
  388.     /**
  389.      * @ORM\OneToMany(targetEntity=Payment::class, mappedBy="owner")
  390.      */
  391.     private $payments;
  392.     /**
  393.      * @ORM\OneToMany(targetEntity=Requisition::class, mappedBy="owner")
  394.      */
  395.     private $requisitions;
  396.     /**
  397.      * @ORM\OneToMany(targetEntity=Contract::class, mappedBy="concernerd")
  398.      */
  399.     private $contracts;
  400.     /**
  401.      * @ORM\OneToMany(targetEntity=Perfomance::class, mappedBy="concerned")
  402.      */
  403.     private $perfomances;
  404.     /**
  405.      * @ORM\OneToMany(targetEntity=Leave::class, mappedBy="concerned")
  406.      */
  407.     private $leaves;
  408.     /**
  409.      * @ORM\OneToMany(targetEntity=Leave::class, mappedBy="agentProcessed")
  410.      */
  411.     private $agentProcessedLeaves;
  412.     /**
  413.      * @ORM\OneToMany(targetEntity=Perfomance::class, mappedBy="agentProcessed")
  414.      */
  415.     private $agentProcessedPerfomances;
  416.     /**
  417.      * @ORM\OneToMany(targetEntity=Contract::class, mappedBy="agentProcessed")
  418.      */
  419.     private $agentProcessedContracts;
  420.     /**
  421.      * @ORM\OneToMany(targetEntity=JobDescription::class, mappedBy="agentProcessed")
  422.      */
  423.     private $agentProcessedJobDescription;
  424.     /**
  425.      * @ORM\OneToMany(targetEntity=Caution::class, mappedBy="concerned")
  426.      */
  427.     private $cautions;
  428.     /**
  429.      * @ORM\OneToMany(targetEntity=Caution::class, mappedBy="agentProcessed")
  430.      */
  431.     private $agentProcessedCaution;
  432.     /**
  433.      * @ORM\OneToMany(targetEntity=Presence::class, mappedBy="agent")
  434.      */
  435.     private $presences;
  436.     /**
  437.      * @ORM\OneToMany(targetEntity=Presence::class, mappedBy="agentProcess")
  438.      */
  439.     private $agentPresences;
  440.     /**
  441.      * @ORM\OneToMany(targetEntity=Receipt::class, mappedBy="owner")
  442.      */
  443.     private $receipts;
  444.     /**
  445.      * @ORM\OneToMany(targetEntity=Receipt::class, mappedBy="agentProcessed")
  446.      */
  447.     private $receiptAgents;
  448.     /**
  449.      * @ORM\OneToMany(targetEntity=Award::class, mappedBy="pretending")
  450.      */
  451.     private $awards;
  452.     /**
  453.      * @ORM\OneToMany(targetEntity=Award::class, mappedBy="owner")
  454.      */
  455.     private $ownerAwards;
  456.     /**
  457.      * @ORM\OneToMany(targetEntity=Budget::class, mappedBy="agentProcessed")
  458.      */
  459.     private $budgets;
  460.     /**
  461.      * @ORM\OneToMany(targetEntity=Requisition::class, mappedBy="financeDeal")
  462.      */
  463.     private $fRequisitions;
  464.     /**
  465.      * @ORM\OneToMany(targetEntity=Requisition::class, mappedBy="managementDeal")
  466.      */
  467.     private $mRequisitions;
  468.     /**
  469.      * @ORM\OneToMany(targetEntity=Requisition::class, mappedBy="departmentDeal")
  470.      */
  471.     private $dRequisitions;
  472.     /**
  473.      * @ORM\OneToMany(targetEntity=Observation::class, mappedBy="signedBy")
  474.      */
  475.     private $observations;
  476.     /**
  477.      * @ORM\ManyToOne(targetEntity=Project::class, inversedBy="users")
  478.      */
  479.     private $project;
  480.     /**
  481.      * @ORM\OneToMany(targetEntity=Task::class, mappedBy="owner")
  482.      */
  483.     private $tasks;
  484.     /**
  485.      * @ORM\ManyToMany(targetEntity=Task::class, mappedBy="suggest")
  486.      */
  487.     private $suggestTasks;
  488.     /**
  489.      * @ORM\OneToMany(targetEntity=Requisition::class, mappedBy="financeManagerDeal")
  490.      */
  491.     private $fMRequisitions;
  492.     /**
  493.      * @ORM\OneToMany(targetEntity=Payment::class, mappedBy="managementDeal")
  494.      */
  495.     private $mPayments;
  496.     /**
  497.      * @ORM\OneToMany(targetEntity=Payment::class, mappedBy="checkoutDeal")
  498.      */
  499.     private $cPayments;
  500.     /**
  501.      * @ORM\OneToMany(targetEntity=Airtime::class, mappedBy="owner")
  502.      */
  503.     private $airtimes;
  504.     /**
  505.      * @ORM\OneToMany(targetEntity=Airtime::class, mappedBy="agentProcessed")
  506.      */
  507.     private $agtAirtimes;
  508.     /**
  509.      * @ORM\ManyToMany(targetEntity=Requisition::class, mappedBy="viewBy")
  510.      */
  511.     private $requisitionViews;
  512.     /**
  513.      * @ORM\OneToMany(targetEntity=Requisition::class, mappedBy="checkoutDeal")
  514.      */
  515.     private $ckRequisitions;
  516.     /**
  517.      * @ORM\OneToMany(targetEntity=Requisition::class, mappedBy="checkoutReturnBy")
  518.      */
  519.     private $cRBRequisitions;
  520.     /**
  521.      * @ORM\OneToMany(targetEntity=AccountProject::class, mappedBy="agentProcessed")
  522.      */
  523.     private $accountProjects;
  524.     /**
  525.      * @ORM\OneToMany(targetEntity=Operation::class, mappedBy="owner")
  526.      */
  527.     private $operations;
  528.     /**
  529.      * @ORM\OneToMany(targetEntity=Account::class, mappedBy="owner")
  530.      */
  531.     private $accounts;
  532.     /**
  533.      * @ORM\OneToMany(targetEntity=\App\Entity\Docs\Finance\Payment\Membre\Operation::class, mappedBy="member")
  534.      */
  535.     private $deposits;
  536.     /**
  537.      * @ORM\ManyToOne(targetEntity=User::class, inversedBy="children")
  538.      */
  539.     private $parent;
  540.     /**
  541.      * @ORM\OneToMany(targetEntity=User::class, mappedBy="parent")
  542.      */
  543.     private $children;
  544.     /**
  545.      * @ORM\OneToMany(targetEntity=\App\Entity\Docs\Finance\Payment\Membre\Operation::class, mappedBy="member")
  546.      */
  547.     //private $memberOperations;
  548.     /**
  549.      * @ORM\Column(type="string", length=255, nullable=true)
  550.      */
  551.     private $country;
  552.     /**
  553.      * @ORM\Column(type="string", length=255, nullable=true)
  554.      */
  555.     private $KindMember;
  556.     /**
  557.      * @ORM\Column(type="string", length=255, nullable=true)
  558.      */
  559.     private $grade;
  560.     /**
  561.      * @ORM\OneToMany(targetEntity=AccountVerification::class, mappedBy="confirmedBy")
  562.      */
  563.     private $accountVerifications;
  564.     /**
  565.      * @ORM\OneToMany(targetEntity=Transfer::class, mappedBy="agentProcessed")
  566.      */
  567.     private $transfers;
  568.     private $code;
  569.     /**
  570.      * @ORM\Column(type="boolean", nullable=true)
  571.      */
  572.     private $isAdminFinance;
  573.     /**
  574.      * @ORM\OneToMany(targetEntity=MaterialAsset::class, mappedBy="agentProcessor")
  575.      */
  576.     private $materialAssets;
  577.     /**
  578.      * @ORM\OneToMany(targetEntity=UseOfAsset::class, mappedBy="user")
  579.      */
  580.     private $useOfAssets;
  581.     /**
  582.      * @ORM\OneToMany(targetEntity=TypeMaterialAsset::class, mappedBy="agentProcessor")
  583.      */
  584.     private $typeMaterialAssets;
  585.     /**
  586.      * @ORM\OneToMany(targetEntity=UseOfAsset::class, mappedBy="agentClose")
  587.      */
  588.     private $useOfAssetsClosed;
  589.     /**
  590.      * @ORM\OneToMany(targetEntity=UseOfAsset::class, mappedBy="receiptValidationUser")
  591.      */
  592.     private $useOfAssetsValidateReceipt;
  593.     /**
  594.      * @ORM\OneToMany(targetEntity=UseOfAsset::class, mappedBy="discountValidationUser")
  595.      */
  596.     private $useOfAssetDiscountValidate;
  597.     /**
  598.      * @ORM\OneToMany(targetEntity=\App\Entity\Docs\Finance\V2\Budget\BudgetLine::class, mappedBy="manager")
  599.      */
  600.     private $budgetLinesV2;
  601.     /**
  602.      * @ORM\OneToMany(targetEntity=BudgetSection::class, mappedBy="manager")
  603.      */
  604.     private $budgetSections;
  605.     /**
  606.      * @ORM\Column(type="string", length=255, nullable=true)
  607.      */
  608.     private $authCode;
  609.     /**
  610.      * @ORM\Column(type="integer", nullable=true)
  611.      */
  612.     private $authIAt;
  613.     /**
  614.      * @ORM\OneToMany(targetEntity=\App\Entity\Docs\Finance\V2\Budget\Budget::class, mappedBy="agentProcessor")
  615.      */
  616.     private $budgetProcessor;
  617.     /**
  618.      * @ORM\OneToMany(targetEntity=BudgetSection::class, mappedBy="agentProccessor")
  619.      */
  620.     private $budgetSectionsCreated;
  621.     /**
  622.      * @ORM\OneToMany(targetEntity=\App\Entity\Docs\Finance\V2\Budget\BudgetLine::class, mappedBy="agentProcessing")
  623.      */
  624.     private $budgetLinesCreated;
  625.     /**
  626.      * @ORM\OneToMany(targetEntity=OADAAccount::class, mappedBy="agentProcessor")
  627.      */
  628.     private $oADAAccounts;
  629.     /**
  630.      * @ORM\OneToMany(targetEntity=FiscalYear::class, mappedBy="agentProcessor")
  631.      */
  632.     private $fiscalYears;
  633.     /**
  634.      * @ORM\OneToMany(targetEntity=Transaction::class, mappedBy="agentProcessor")
  635.      */
  636.     private $transactionsCheckout;
  637.     /**
  638.      * @ORM\OneToMany(targetEntity=CompanyAccount::class, mappedBy="agentProcessor")
  639.      */
  640.     private $companyAccountsInitialize;
  641.     /**
  642.      * @ORM\OneToMany(targetEntity=Transaction::class, mappedBy="agentValidator")
  643.      */
  644.     private $transactionsValidate;
  645.     /**
  646.      * @ORM\OneToMany(targetEntity=\App\Entity\Accounting\OADA\AccountJournal::class, mappedBy="cashier")
  647.      */
  648.     private $accountJournalsCashier;
  649.     /**
  650.      * @ORM\OneToMany(targetEntity=Draft::class, mappedBy="user")
  651.      */
  652.     private $drafts;
  653.     /**
  654.      * @ORM\OneToMany(targetEntity=\App\Entity\Accounting\OADA\AccountJournal::class, mappedBy="accountant")
  655.      */
  656.     private $accountJournalsAccountant;
  657.     /**
  658.      * @ORM\OneToMany(targetEntity=ParamsApp::class, mappedBy="userProcessor")
  659.      */
  660.     private $paramsApps;
  661.     /**
  662.      * @ORM\OneToMany(targetEntity=ChangeRate::class, mappedBy="userProcessor")
  663.      */
  664.     private $changeRates;
  665.     /**
  666.      * @ORM\OneToMany(targetEntity=Justification::class, mappedBy="agentProcessed")
  667.      */
  668.     private $justifications;
  669.     /**
  670.      * @ORM\OneToMany(targetEntity=CashReturn::class, mappedBy="agentProcessed")
  671.      */
  672.     private $cashReturns;
  673.     /**
  674.      * @ORM\OneToMany(targetEntity=Transaction::class, mappedBy="dirValidator")
  675.      */
  676.     private $transactionDirValidate;
  677.     /**
  678.      * @ORM\OneToMany(targetEntity=Justification::class, mappedBy="validateAgent")
  679.      */
  680.     private $justificationsValidate;
  681.     /**
  682.      * @ORM\OneToMany(targetEntity=CashReturn::class, mappedBy="agentSign")
  683.      */
  684.     private $cashReturnsSign;
  685.     /**
  686.      * @ORM\OneToMany(targetEntity=OperationAccount::class, mappedBy="deletedBy")
  687.      */
  688.     private $optAccountsDeleted;
  689.     /**
  690.      * @ORM\OneToMany(targetEntity=Requisition::class, mappedBy="optDeal")
  691.      */
  692.     private $optSignReqs;
  693.     
  694.     public function __construct()
  695.     {
  696.         $this->sections = new ArrayCollection();
  697.         $this->visits = new ArrayCollection();
  698.         $this->jobDescriptions = new ArrayCollection();
  699.         $this->disciplinaries = new ArrayCollection();
  700.         $this->contacts = new ArrayCollection();
  701.         $this->couriers = new ArrayCollection();
  702.         $this->externalCommunications = new ArrayCollection();
  703.         $this->ownerVisits = new ArrayCollection();
  704.         $this->f02s = new ArrayCollection();
  705.         $this->f01s = new ArrayCollection();
  706.         $this->f03s = new ArrayCollection();
  707.         $this->members = new ArrayCollection();
  708.         $this->censuses = new ArrayCollection();
  709.         $this->foreignPopulations = new ArrayCollection();
  710.         $this->internalPopulations = new ArrayCollection();
  711.         $this->depositSlips = new ArrayCollection();
  712.         $this->ownerDepositSlips = new ArrayCollection();
  713.         $this->openingAuthorizations = new ArrayCollection();
  714.         $this->procedures = new ArrayCollection();
  715.         $this->births = new ArrayCollection();
  716.         $this->deaths = new ArrayCollection();
  717.         $this->emigrations = new ArrayCollection();
  718.         $this->imigrations = new ArrayCollection();
  719.         $this->weddings = new ArrayCollection();
  720.         $this->backgroundReceipts = new ArrayCollection();
  721.         $this->accountJournals = new ArrayCollection();
  722.         $this->cashJournals = new ArrayCollection();
  723.         $this->budgetMonitorings = new ArrayCollection();
  724.         $this->providers = new ArrayCollection();
  725.         $this->quotes = new ArrayCollection();
  726.         $this->purchaseOrders = new ArrayCollection();
  727.         $this->projects = new ArrayCollection();
  728.         $this->budgetLines = new ArrayCollection();
  729.         $this->fundings = new ArrayCollection();
  730.         $this->payments = new ArrayCollection();
  731.         $this->requisitions = new ArrayCollection();
  732.         $this->username base64_encode(uniqid());
  733.         $this->contracts = new ArrayCollection();
  734.         $this->perfomances = new ArrayCollection();
  735.         $this->leaves = new ArrayCollection();
  736.         $this->agentProcessedLeaves = new ArrayCollection();
  737.         $this->agentProcessedPerfomances = new ArrayCollection();
  738.         $this->agentProcessedContracts = new ArrayCollection();
  739.         $this->agentProcessedJobDescription = new ArrayCollection();
  740.         $this->cautions = new ArrayCollection();
  741.         $this->agentProcessedCaution = new ArrayCollection();
  742.         $this->presences = new ArrayCollection();
  743.         $this->agentPresences = new ArrayCollection();
  744.         $this->receipts = new ArrayCollection();
  745.         $this->receiptAgents = new ArrayCollection();
  746.         $this->awards = new ArrayCollection();
  747.         $this->ownerAwards = new ArrayCollection();
  748.         $this->budgets = new ArrayCollection();
  749.         $this->fRequisitions = new ArrayCollection();
  750.         $this->mRequisitions = new ArrayCollection();
  751.         $this->dRequisitions = new ArrayCollection();
  752.         $this->observations = new ArrayCollection();
  753.         $this->tasks = new ArrayCollection();
  754.         $this->suggestTasks = new ArrayCollection();
  755.         $this->fMRequisitions = new ArrayCollection();
  756.         $this->mPayments = new ArrayCollection();
  757.         $this->cPayments = new ArrayCollection();
  758.         $this->airtimes = new ArrayCollection();
  759.         $this->agtAirtimes = new ArrayCollection();
  760.         $this->requisitionViews = new ArrayCollection();
  761.         $this->ckRequisitions = new ArrayCollection();
  762.         $this->cRBRequisitions = new ArrayCollection();
  763.         $this->accountProjects = new ArrayCollection();
  764.         $this->operations = new ArrayCollection();
  765.         $this->accounts = new ArrayCollection();
  766.         $this->deposits = new ArrayCollection();
  767.         $this->children = new ArrayCollection();
  768.         $this->memberOperations = new ArrayCollection();
  769.         $this->accountVerifications = new ArrayCollection();
  770.         $this->transfers = new ArrayCollection();
  771.         $this->materialAssets = new ArrayCollection();
  772.         $this->useOfAssets = new ArrayCollection();
  773.         $this->typeMaterialAssets = new ArrayCollection();
  774.         $this->useOfAssetsClosed = new ArrayCollection();
  775.         $this->useOfAssetsValidateReceipt = new ArrayCollection();
  776.         $this->useOfAssetDiscountValidate = new ArrayCollection();
  777.         $this->budgetLinesV2 = new ArrayCollection();
  778.         $this->budgetSections = new ArrayCollection();
  779.         $this->budgetProcessor = new ArrayCollection();
  780.         $this->budgetSectionsCreated = new ArrayCollection();
  781.         $this->budgetLinesCreated = new ArrayCollection();
  782.         $this->oADAAccounts = new ArrayCollection();
  783.         $this->fiscalYears = new ArrayCollection();
  784.         $this->transactionsCheckout = new ArrayCollection();
  785.         $this->companyAccountsInitialize = new ArrayCollection();
  786.         $this->transactionsValidate = new ArrayCollection();
  787.         $this->accountJournalsCashier = new ArrayCollection();
  788.         $this->drafts = new ArrayCollection();
  789.         $this->accountJournalsAccountant = new ArrayCollection();
  790.         $this->paramsApps = new ArrayCollection();
  791.         $this->changeRates = new ArrayCollection();
  792.         $this->justifications = new ArrayCollection();
  793.         $this->cashReturns = new ArrayCollection();
  794.         $this->transactionDirValidate = new ArrayCollection();
  795.         $this->justificationsValidate = new ArrayCollection();
  796.         $this->cashReturnsSign = new ArrayCollection();
  797.         $this->optAccountsDeleted = new ArrayCollection();
  798.         $this->optSignReqs = new ArrayCollection();
  799.     }
  800.     public function getId()
  801.     {
  802.         return $this->id;
  803.         return "BHD" "_" $this->id '_' . (int) $this->getPhoneNumber();
  804.     }
  805.     public function getCode()
  806.     {
  807.         return $this->id;
  808.         // return "BHD" . "_" . $this->id . '_' . (int) $this->getPhoneNumber();
  809.     }
  810.     /**
  811.      * A visual identifier that represents this user.
  812.      *
  813.      * @see UserInterface
  814.      */
  815.     public function getUserIdentifier() : string
  816.     {
  817.         return (string) $this->email;
  818.     }
  819.     public function getEmail() : ?string
  820.     {
  821.         return $this->email;
  822.     }
  823.     public function setEmail(string $email) : self
  824.     {
  825.         $this->email $email;
  826.         return $this;
  827.     }
  828.     public function getUsername() : ?string
  829.     {
  830.         return $this->username;
  831.     }
  832.     public function setUsername(string $username) : self
  833.     {
  834.         $this->username $username;
  835.         return $this;
  836.     }
  837.     public function getRoles() : ?array
  838.     {
  839.         return $this->roles;
  840.     }
  841.     /**
  842.      * @return string|null
  843.      */
  844.     public function getApiToken() : ?string
  845.     {
  846.         return $this->apiToken;
  847.     }
  848.     /**
  849.      * @param string|null $apiToken
  850.      */
  851.     public function setApiToken(?string $apiToken) : void
  852.     {
  853.         $this->apiToken $apiToken;
  854.     }
  855.     public function setRoles(array $roles) : self
  856.     {
  857.         $this->roles $roles;
  858.         return $this;
  859.     }
  860.     public function getPassword() : ?string
  861.     {
  862.         return $this->password;
  863.     }
  864.     public function setPassword(string $password) : self
  865.     {
  866.         $this->password $password;
  867.         return $this;
  868.     }
  869.     /**
  870.      * @see UserInterface
  871.      */
  872.     public function getSalt()
  873.     {
  874.         // not needed when using the "bcrypt" algorithm in security.yaml
  875.     }
  876.     /**
  877.      * @see UserInterface
  878.      */
  879.     public function eraseCredentials()
  880.     {
  881.         // If you store any temporary, sensitive data on the user, clear it here
  882.         // $this->plainPassword = null;
  883.     }
  884.     public function isVerified() : bool
  885.     {
  886.         return $this->isVerified;
  887.     }
  888.     public function setIsVerified(bool $isVerified) : self
  889.     {
  890.         $this->isVerified $isVerified;
  891.         return $this;
  892.     }
  893.     public function getName() : ?string
  894.     {
  895.         return $this->name;
  896.     }
  897.     public function setName(string $name) : self
  898.     {
  899.         $this->name $name;
  900.         return $this;
  901.     }
  902.     public function getLastname() : ?string
  903.     {
  904.         return $this->lastname;
  905.     }
  906.     public function setLastname(?string $lastname) : self
  907.     {
  908.         $this->lastname $lastname;
  909.         return $this;
  910.     }
  911.     public function getFirstname() : ?string
  912.     {
  913.         return $this->firstname;
  914.     }
  915.     public function setFirstname(string $firstname) : self
  916.     {
  917.         $this->firstname $firstname;
  918.         return $this;
  919.     }
  920.     public function getNames() : ?string
  921.     {
  922.         return strtoupper($this->name) . " " ucfirst($this->lastname) . " " ucfirst($this->firstname);
  923.     }
  924.     public function getFullname() : ?string
  925.     {
  926.         return ucfirst($this->firstname) . " " strtoupper($this->name);
  927.     }
  928.     public function getSexe() : ?string
  929.     {
  930.         return $this->sexe;
  931.     }
  932.     public function setSexe(string $sexe) : self
  933.     {
  934.         $this->sexe $sexe;
  935.         return $this;
  936.     }
  937.     public function getPhoneNumber() : ?string
  938.     {
  939.         return $this->phoneNumber;
  940.     }
  941.     public function setPhoneNumber(string $phoneNumber) : self
  942.     {
  943.         $this->phoneNumber $phoneNumber;
  944.         return $this;
  945.     }
  946.     public function getIsVerified() : ?bool
  947.     {
  948.         return $this->isVerified;
  949.     }
  950.     public function getAddress() : ?Address
  951.     {
  952.         return $this->address;
  953.     }
  954.     public function setAddress(?Address $address) : self
  955.     {
  956.         $this->address $address;
  957.         return $this;
  958.     }
  959.     public function getState() : ?string
  960.     {
  961.         return $this->state;
  962.     }
  963.     public function setState(?string $state) : self
  964.     {
  965.         $this->state $state;
  966.         return $this;
  967.     }
  968.     public function getAccountVerification() : ?AccountVerification
  969.     {
  970.         return $this->accountVerification;
  971.     }
  972.     public function setAccountVerification(?AccountVerification $accountVerification) : self
  973.     {
  974.         $this->accountVerification $accountVerification;
  975.         return $this;
  976.     }
  977.     public function getDepartment() : ?Department
  978.     {
  979.         return $this->department;
  980.     }
  981.     public function setDepartment(?Department $department) : self
  982.     {
  983.         $this->department $department;
  984.         return $this;
  985.     }
  986.     public function getCompany() : ?Company
  987.     {
  988.         return $this->company;
  989.     }
  990.     public function setCompany(?Company $company) : self
  991.     {
  992.         $this->company $company;
  993.         return $this;
  994.     }
  995.     public function getCompanyOwner() : ?Company
  996.     {
  997.         return $this->companyOwner;
  998.     }
  999.     public function setCompanyOwner(?Company $companyOwner) : self
  1000.     {
  1001.         $this->companyOwner $companyOwner;
  1002.         return $this;
  1003.     }
  1004.     /**
  1005.      * @return Collection|Section[]
  1006.      */
  1007.     public function getSections() : Collection
  1008.     {
  1009.         return $this->sections;
  1010.     }
  1011.     public function addSection(Section $section) : self
  1012.     {
  1013.         if (!$this->sections->contains($section)) {
  1014.             $this->sections[] = $section;
  1015.         }
  1016.         return $this;
  1017.     }
  1018.     public function removeSection(Section $section) : self
  1019.     {
  1020.         if ($this->sections->contains($section)) {
  1021.             $this->sections->removeElement($section);
  1022.         }
  1023.         return $this;
  1024.     }
  1025.     /**
  1026.      * @return Collection|Visit[]
  1027.      */
  1028.     public function getVisits() : Collection
  1029.     {
  1030.         return $this->visits;
  1031.     }
  1032.     public function addVisit(Visit $visit) : self
  1033.     {
  1034.         if (!$this->visits->contains($visit)) {
  1035.             $this->visits[] = $visit;
  1036.             $visit->setPersonVisited($this);
  1037.         }
  1038.         return $this;
  1039.     }
  1040.     public function removeVisit(Visit $visit) : self
  1041.     {
  1042.         if ($this->visits->contains($visit)) {
  1043.             $this->visits->removeElement($visit);
  1044.             // set the owning side to null (unless already changed)
  1045.             if ($visit->getPersonVisited() === $this) {
  1046.                 $visit->setPersonVisited(null);
  1047.             }
  1048.         }
  1049.         return $this;
  1050.     }
  1051.     /**
  1052.      * @return Collection|JobDescription[]
  1053.      */
  1054.     public function getJobDescriptions() : Collection
  1055.     {
  1056.         return $this->jobDescriptions;
  1057.     }
  1058.     public function addJobDescription(JobDescription $jobDescription) : self
  1059.     {
  1060.         if (!$this->jobDescriptions->contains($jobDescription)) {
  1061.             $this->jobDescriptions[] = $jobDescription;
  1062.             $jobDescription->setAgentIntended($this);
  1063.         }
  1064.         return $this;
  1065.     }
  1066.     public function removeJobDescription(JobDescription $jobDescription) : self
  1067.     {
  1068.         if ($this->jobDescriptions->contains($jobDescription)) {
  1069.             $this->jobDescriptions->removeElement($jobDescription);
  1070.             // set the owning side to null (unless already changed)
  1071.             if ($jobDescription->getAgentIntended() === $this) {
  1072.                 $jobDescription->setAgentIntended(null);
  1073.             }
  1074.         }
  1075.         return $this;
  1076.     }
  1077.     /**
  1078.      * @return Collection|Disciplinary[]
  1079.      */
  1080.     public function getDisciplinaries() : Collection
  1081.     {
  1082.         return $this->disciplinaries;
  1083.     }
  1084.     public function addDisciplinary(Disciplinary $disciplinary) : self
  1085.     {
  1086.         if (!$this->disciplinaries->contains($disciplinary)) {
  1087.             $this->disciplinaries[] = $disciplinary;
  1088.             $disciplinary->setIntendedFor($this);
  1089.         }
  1090.         return $this;
  1091.     }
  1092.     public function removeDisciplinary(Disciplinary $disciplinary) : self
  1093.     {
  1094.         if ($this->disciplinaries->contains($disciplinary)) {
  1095.             $this->disciplinaries->removeElement($disciplinary);
  1096.             // set the owning side to null (unless already changed)
  1097.             if ($disciplinary->getIntendedFor() === $this) {
  1098.                 $disciplinary->setIntendedFor(null);
  1099.             }
  1100.         }
  1101.         return $this;
  1102.     }
  1103.     public function getFunctionDep() : ?Activity
  1104.     {
  1105.         return $this->functionDep;
  1106.     }
  1107.     public function setFunctionDep(?Activity $functionDep) : self
  1108.     {
  1109.         $this->functionDep $functionDep;
  1110.         return $this;
  1111.     }
  1112.     /**
  1113.      * @return Collection|Contact[]
  1114.      */
  1115.     public function getContacts() : Collection
  1116.     {
  1117.         return $this->contacts;
  1118.     }
  1119.     public function addContact(Contact $contact) : self
  1120.     {
  1121.         if (!$this->contacts->contains($contact)) {
  1122.             $this->contacts[] = $contact;
  1123.             $contact->setUser($this);
  1124.         }
  1125.         return $this;
  1126.     }
  1127.     public function removeContact(Contact $contact) : self
  1128.     {
  1129.         if ($this->contacts->contains($contact)) {
  1130.             $this->contacts->removeElement($contact);
  1131.             // set the owning side to null (unless already changed)
  1132.             if ($contact->getUser() === $this) {
  1133.                 $contact->setUser(null);
  1134.             }
  1135.         }
  1136.         return $this;
  1137.     }
  1138.     /**
  1139.      * @return Collection|Courier[]
  1140.      */
  1141.     public function getCouriers() : Collection
  1142.     {
  1143.         return $this->couriers;
  1144.     }
  1145.     public function addCourier(Courier $courier) : self
  1146.     {
  1147.         if (!$this->couriers->contains($courier)) {
  1148.             $this->couriers[] = $courier;
  1149.             $courier->setOwner($this);
  1150.         }
  1151.         return $this;
  1152.     }
  1153.     public function removeCourier(Courier $courier) : self
  1154.     {
  1155.         if ($this->couriers->contains($courier)) {
  1156.             $this->couriers->removeElement($courier);
  1157.             // set the owning side to null (unless already changed)
  1158.             if ($courier->getOwner() === $this) {
  1159.                 $courier->setOwner(null);
  1160.             }
  1161.         }
  1162.         return $this;
  1163.     }
  1164.     /**
  1165.      * @return Collection|ExternalCommunication[]
  1166.      */
  1167.     public function getExternalCommunications() : Collection
  1168.     {
  1169.         return $this->externalCommunications;
  1170.     }
  1171.     public function addExternalCommunication(ExternalCommunication $externalCommunication) : self
  1172.     {
  1173.         if (!$this->externalCommunications->contains($externalCommunication)) {
  1174.             $this->externalCommunications[] = $externalCommunication;
  1175.             $externalCommunication->setOwner($this);
  1176.         }
  1177.         return $this;
  1178.     }
  1179.     public function removeExternalCommunication(ExternalCommunication $externalCommunication) : self
  1180.     {
  1181.         if ($this->externalCommunications->contains($externalCommunication)) {
  1182.             $this->externalCommunications->removeElement($externalCommunication);
  1183.             // set the owning side to null (unless already changed)
  1184.             if ($externalCommunication->getOwner() === $this) {
  1185.                 $externalCommunication->setOwner(null);
  1186.             }
  1187.         }
  1188.         return $this;
  1189.     }
  1190.     /**
  1191.      * @return Collection|Visit[]
  1192.      */
  1193.     public function getOwnerVisits() : Collection
  1194.     {
  1195.         return $this->ownerVisits;
  1196.     }
  1197.     public function addOwnerVisit(Visit $ownerVisit) : self
  1198.     {
  1199.         if (!$this->ownerVisits->contains($ownerVisit)) {
  1200.             $this->ownerVisits[] = $ownerVisit;
  1201.             $ownerVisit->setOwner($this);
  1202.         }
  1203.         return $this;
  1204.     }
  1205.     public function removeOwnerVisit(Visit $ownerVisit) : self
  1206.     {
  1207.         if ($this->ownerVisits->contains($ownerVisit)) {
  1208.             $this->ownerVisits->removeElement($ownerVisit);
  1209.             // set the owning side to null (unless already changed)
  1210.             if ($ownerVisit->getOwner() === $this) {
  1211.                 $ownerVisit->setOwner(null);
  1212.             }
  1213.         }
  1214.         return $this;
  1215.     }
  1216.     /**
  1217.      * @return Collection|F02[]
  1218.      */
  1219.     public function getF02s() : Collection
  1220.     {
  1221.         return $this->f02s;
  1222.     }
  1223.     public function addF02(F02 $f02) : self
  1224.     {
  1225.         if (!$this->f02s->contains($f02)) {
  1226.             $this->f02s[] = $f02;
  1227.             $f02->setOwner($this);
  1228.         }
  1229.         return $this;
  1230.     }
  1231.     public function removeF02(F02 $f02) : self
  1232.     {
  1233.         if ($this->f02s->contains($f02)) {
  1234.             $this->f02s->removeElement($f02);
  1235.             // set the owning side to null (unless already changed)
  1236.             if ($f02->getOwner() === $this) {
  1237.                 $f02->setOwner(null);
  1238.             }
  1239.         }
  1240.         return $this;
  1241.     }
  1242.     /**
  1243.      * @return Collection|F01[]
  1244.      */
  1245.     public function getF01s() : Collection
  1246.     {
  1247.         return $this->f01s;
  1248.     }
  1249.     public function addF01(F01 $f01) : self
  1250.     {
  1251.         if (!$this->f01s->contains($f01)) {
  1252.             $this->f01s[] = $f01;
  1253.             $f01->setOwner($this);
  1254.         }
  1255.         return $this;
  1256.     }
  1257.     public function removeF01(F01 $f01) : self
  1258.     {
  1259.         if ($this->f01s->contains($f01)) {
  1260.             $this->f01s->removeElement($f01);
  1261.             // set the owning side to null (unless already changed)
  1262.             if ($f01->getOwner() === $this) {
  1263.                 $f01->setOwner(null);
  1264.             }
  1265.         }
  1266.         return $this;
  1267.     }
  1268.     /**
  1269.      * @return Collection|F03[]
  1270.      */
  1271.     public function getF03s() : Collection
  1272.     {
  1273.         return $this->f03s;
  1274.     }
  1275.     public function addF03(F03 $f03) : self
  1276.     {
  1277.         if (!$this->f03s->contains($f03)) {
  1278.             $this->f03s[] = $f03;
  1279.             $f03->setOwner($this);
  1280.         }
  1281.         return $this;
  1282.     }
  1283.     public function removeF03(F03 $f03) : self
  1284.     {
  1285.         if ($this->f03s->contains($f03)) {
  1286.             $this->f03s->removeElement($f03);
  1287.             // set the owning side to null (unless already changed)
  1288.             if ($f03->getOwner() === $this) {
  1289.                 $f03->setOwner(null);
  1290.             }
  1291.         }
  1292.         return $this;
  1293.     }
  1294.     /**
  1295.      * @return Collection|Member[]
  1296.      */
  1297.     public function getMembers() : Collection
  1298.     {
  1299.         return $this->members;
  1300.     }
  1301.     public function addMember(Member $member) : self
  1302.     {
  1303.         if (!$this->members->contains($member)) {
  1304.             $this->members[] = $member;
  1305.             $member->setOwner($this);
  1306.         }
  1307.         return $this;
  1308.     }
  1309.     public function removeMember(Member $member) : self
  1310.     {
  1311.         if ($this->members->contains($member)) {
  1312.             $this->members->removeElement($member);
  1313.             // set the owning side to null (unless already changed)
  1314.             if ($member->getOwner() === $this) {
  1315.                 $member->setOwner(null);
  1316.             }
  1317.         }
  1318.         return $this;
  1319.     }
  1320.     /**
  1321.      * @return Collection|Census[]
  1322.      */
  1323.     public function getCensuses() : Collection
  1324.     {
  1325.         return $this->censuses;
  1326.     }
  1327.     public function addCensus(Census $census) : self
  1328.     {
  1329.         if (!$this->censuses->contains($census)) {
  1330.             $this->censuses[] = $census;
  1331.             $census->setOwner($this);
  1332.         }
  1333.         return $this;
  1334.     }
  1335.     public function removeCensus(Census $census) : self
  1336.     {
  1337.         if ($this->censuses->contains($census)) {
  1338.             $this->censuses->removeElement($census);
  1339.             // set the owning side to null (unless already changed)
  1340.             if ($census->getOwner() === $this) {
  1341.                 $census->setOwner(null);
  1342.             }
  1343.         }
  1344.         return $this;
  1345.     }
  1346.     /**
  1347.      * @return Collection|ForeignPopulation[]
  1348.      */
  1349.     public function getForeignPopulations() : Collection
  1350.     {
  1351.         return $this->foreignPopulations;
  1352.     }
  1353.     public function addForeignPopulation(ForeignPopulation $foreignPopulation) : self
  1354.     {
  1355.         if (!$this->foreignPopulations->contains($foreignPopulation)) {
  1356.             $this->foreignPopulations[] = $foreignPopulation;
  1357.             $foreignPopulation->setOwner($this);
  1358.         }
  1359.         return $this;
  1360.     }
  1361.     public function removeForeignPopulation(ForeignPopulation $foreignPopulation) : self
  1362.     {
  1363.         if ($this->foreignPopulations->contains($foreignPopulation)) {
  1364.             $this->foreignPopulations->removeElement($foreignPopulation);
  1365.             // set the owning side to null (unless already changed)
  1366.             if ($foreignPopulation->getOwner() === $this) {
  1367.                 $foreignPopulation->setOwner(null);
  1368.             }
  1369.         }
  1370.         return $this;
  1371.     }
  1372.     /**
  1373.      * @return Collection|InternalPopulation[]
  1374.      */
  1375.     public function getInternalPopulations() : Collection
  1376.     {
  1377.         return $this->internalPopulations;
  1378.     }
  1379.     public function addInternalPopulation(InternalPopulation $internalPopulation) : self
  1380.     {
  1381.         if (!$this->internalPopulations->contains($internalPopulation)) {
  1382.             $this->internalPopulations[] = $internalPopulation;
  1383.             $internalPopulation->setOwner($this);
  1384.         }
  1385.         return $this;
  1386.     }
  1387.     public function removeInternalPopulation(InternalPopulation $internalPopulation) : self
  1388.     {
  1389.         if ($this->internalPopulations->contains($internalPopulation)) {
  1390.             $this->internalPopulations->removeElement($internalPopulation);
  1391.             // set the owning side to null (unless already changed)
  1392.             if ($internalPopulation->getOwner() === $this) {
  1393.                 $internalPopulation->setOwner(null);
  1394.             }
  1395.         }
  1396.         return $this;
  1397.     }
  1398.     /**
  1399.      * @return Collection|DepositSlip[]
  1400.      */
  1401.     public function getDepositSlips() : Collection
  1402.     {
  1403.         return $this->depositSlips;
  1404.     }
  1405.     public function addDepositSlip(DepositSlip $depositSlip) : self
  1406.     {
  1407.         if (!$this->depositSlips->contains($depositSlip)) {
  1408.             $this->depositSlips[] = $depositSlip;
  1409.             $depositSlip->setAccountingOfficer($this);
  1410.         }
  1411.         return $this;
  1412.     }
  1413.     public function removeDepositSlip(DepositSlip $depositSlip) : self
  1414.     {
  1415.         if ($this->depositSlips->contains($depositSlip)) {
  1416.             $this->depositSlips->removeElement($depositSlip);
  1417.             // set the owning side to null (unless already changed)
  1418.             if ($depositSlip->getAccountingOfficer() === $this) {
  1419.                 $depositSlip->setAccountingOfficer(null);
  1420.             }
  1421.         }
  1422.         return $this;
  1423.     }
  1424.     /**
  1425.      * @return Collection|DepositSlip[]
  1426.      */
  1427.     public function getOwnerDepositSlips() : Collection
  1428.     {
  1429.         return $this->ownerDepositSlips;
  1430.     }
  1431.     public function addOwnerDepositSlip(DepositSlip $ownerDepositSlip) : self
  1432.     {
  1433.         if (!$this->ownerDepositSlips->contains($ownerDepositSlip)) {
  1434.             $this->ownerDepositSlips[] = $ownerDepositSlip;
  1435.             $ownerDepositSlip->setOwner($this);
  1436.         }
  1437.         return $this;
  1438.     }
  1439.     public function removeOwnerDepositSlip(DepositSlip $ownerDepositSlip) : self
  1440.     {
  1441.         if ($this->ownerDepositSlips->contains($ownerDepositSlip)) {
  1442.             $this->ownerDepositSlips->removeElement($ownerDepositSlip);
  1443.             // set the owning side to null (unless already changed)
  1444.             if ($ownerDepositSlip->getOwner() === $this) {
  1445.                 $ownerDepositSlip->setOwner(null);
  1446.             }
  1447.         }
  1448.         return $this;
  1449.     }
  1450.     /**
  1451.      * @return Collection|OpeningAuthorization[]
  1452.      */
  1453.     public function getOpeningAuthorizations() : Collection
  1454.     {
  1455.         return $this->openingAuthorizations;
  1456.     }
  1457.     public function addOpeningAuthorization(OpeningAuthorization $openingAuthorization) : self
  1458.     {
  1459.         if (!$this->openingAuthorizations->contains($openingAuthorization)) {
  1460.             $this->openingAuthorizations[] = $openingAuthorization;
  1461.             $openingAuthorization->setOwner($this);
  1462.         }
  1463.         return $this;
  1464.     }
  1465.     public function removeOpeningAuthorization(OpeningAuthorization $openingAuthorization) : self
  1466.     {
  1467.         if ($this->openingAuthorizations->contains($openingAuthorization)) {
  1468.             $this->openingAuthorizations->removeElement($openingAuthorization);
  1469.             // set the owning side to null (unless already changed)
  1470.             if ($openingAuthorization->getOwner() === $this) {
  1471.                 $openingAuthorization->setOwner(null);
  1472.             }
  1473.         }
  1474.         return $this;
  1475.     }
  1476.     /**
  1477.      * @return Collection|Procedure[]
  1478.      */
  1479.     public function getProcedures() : Collection
  1480.     {
  1481.         return $this->procedures;
  1482.     }
  1483.     public function addProcedure(Procedure $procedure) : self
  1484.     {
  1485.         if (!$this->procedures->contains($procedure)) {
  1486.             $this->procedures[] = $procedure;
  1487.             $procedure->setOwner($this);
  1488.         }
  1489.         return $this;
  1490.     }
  1491.     public function removeProcedure(Procedure $procedure) : self
  1492.     {
  1493.         if ($this->procedures->contains($procedure)) {
  1494.             $this->procedures->removeElement($procedure);
  1495.             // set the owning side to null (unless already changed)
  1496.             if ($procedure->getOwner() === $this) {
  1497.                 $procedure->setOwner(null);
  1498.             }
  1499.         }
  1500.         return $this;
  1501.     }
  1502.     /**
  1503.      * @return Collection|Birth[]
  1504.      */
  1505.     public function getBirths() : Collection
  1506.     {
  1507.         return $this->births;
  1508.     }
  1509.     public function addBirth(Birth $birth) : self
  1510.     {
  1511.         if (!$this->births->contains($birth)) {
  1512.             $this->births[] = $birth;
  1513.             $birth->setOwner($this);
  1514.         }
  1515.         return $this;
  1516.     }
  1517.     public function removeBirth(Birth $birth) : self
  1518.     {
  1519.         if ($this->births->contains($birth)) {
  1520.             $this->births->removeElement($birth);
  1521.             // set the owning side to null (unless already changed)
  1522.             if ($birth->getOwner() === $this) {
  1523.                 $birth->setOwner(null);
  1524.             }
  1525.         }
  1526.         return $this;
  1527.     }
  1528.     /**
  1529.      * @return Collection|Death[]
  1530.      */
  1531.     public function getDeaths() : Collection
  1532.     {
  1533.         return $this->deaths;
  1534.     }
  1535.     public function addDeath(Death $death) : self
  1536.     {
  1537.         if (!$this->deaths->contains($death)) {
  1538.             $this->deaths[] = $death;
  1539.             $death->setOwner($this);
  1540.         }
  1541.         return $this;
  1542.     }
  1543.     public function removeDeath(Death $death) : self
  1544.     {
  1545.         if ($this->deaths->contains($death)) {
  1546.             $this->deaths->removeElement($death);
  1547.             // set the owning side to null (unless already changed)
  1548.             if ($death->getOwner() === $this) {
  1549.                 $death->setOwner(null);
  1550.             }
  1551.         }
  1552.         return $this;
  1553.     }
  1554.     /**
  1555.      * @return Collection|Emigration[]
  1556.      */
  1557.     public function getEmigrations() : Collection
  1558.     {
  1559.         return $this->emigrations;
  1560.     }
  1561.     public function addEmigration(Emigration $emigration) : self
  1562.     {
  1563.         if (!$this->emigrations->contains($emigration)) {
  1564.             $this->emigrations[] = $emigration;
  1565.             $emigration->setOwner($this);
  1566.         }
  1567.         return $this;
  1568.     }
  1569.     public function removeEmigration(Emigration $emigration) : self
  1570.     {
  1571.         if ($this->emigrations->contains($emigration)) {
  1572.             $this->emigrations->removeElement($emigration);
  1573.             // set the owning side to null (unless already changed)
  1574.             if ($emigration->getOwner() === $this) {
  1575.                 $emigration->setOwner(null);
  1576.             }
  1577.         }
  1578.         return $this;
  1579.     }
  1580.     /**
  1581.      * @return Collection|Imigration[]
  1582.      */
  1583.     public function getImigrations() : Collection
  1584.     {
  1585.         return $this->imigrations;
  1586.     }
  1587.     public function addImigration(Imigration $imigration) : self
  1588.     {
  1589.         if (!$this->imigrations->contains($imigration)) {
  1590.             $this->imigrations[] = $imigration;
  1591.             $imigration->setOwner($this);
  1592.         }
  1593.         return $this;
  1594.     }
  1595.     public function removeImigration(Imigration $imigration) : self
  1596.     {
  1597.         if ($this->imigrations->contains($imigration)) {
  1598.             $this->imigrations->removeElement($imigration);
  1599.             // set the owning side to null (unless already changed)
  1600.             if ($imigration->getOwner() === $this) {
  1601.                 $imigration->setOwner(null);
  1602.             }
  1603.         }
  1604.         return $this;
  1605.     }
  1606.     /**
  1607.      * @return Collection|Wedding[]
  1608.      */
  1609.     public function getWeddings() : Collection
  1610.     {
  1611.         return $this->weddings;
  1612.     }
  1613.     public function addWedding(Wedding $wedding) : self
  1614.     {
  1615.         if (!$this->weddings->contains($wedding)) {
  1616.             $this->weddings[] = $wedding;
  1617.             $wedding->setOwner($this);
  1618.         }
  1619.         return $this;
  1620.     }
  1621.     public function removeWedding(Wedding $wedding) : self
  1622.     {
  1623.         if ($this->weddings->contains($wedding)) {
  1624.             $this->weddings->removeElement($wedding);
  1625.             // set the owning side to null (unless already changed)
  1626.             if ($wedding->getOwner() === $this) {
  1627.                 $wedding->setOwner(null);
  1628.             }
  1629.         }
  1630.         return $this;
  1631.     }
  1632.     /**
  1633.      * @return Collection|BackgroundReceipt[]
  1634.      */
  1635.     public function getBackgroundReceipts() : Collection
  1636.     {
  1637.         return $this->backgroundReceipts;
  1638.     }
  1639.     public function addBackgroundReceipt(BackgroundReceipt $backgroundReceipt) : self
  1640.     {
  1641.         if (!$this->backgroundReceipts->contains($backgroundReceipt)) {
  1642.             $this->backgroundReceipts[] = $backgroundReceipt;
  1643.             $backgroundReceipt->setOwner($this);
  1644.         }
  1645.         return $this;
  1646.     }
  1647.     public function removeBackgroundReceipt(BackgroundReceipt $backgroundReceipt) : self
  1648.     {
  1649.         if ($this->backgroundReceipts->contains($backgroundReceipt)) {
  1650.             $this->backgroundReceipts->removeElement($backgroundReceipt);
  1651.             // set the owning side to null (unless already changed)
  1652.             if ($backgroundReceipt->getOwner() === $this) {
  1653.                 $backgroundReceipt->setOwner(null);
  1654.             }
  1655.         }
  1656.         return $this;
  1657.     }
  1658.     /**
  1659.      * @return Collection|AccountJournal[]
  1660.      */
  1661.     public function getAccountJournals() : Collection
  1662.     {
  1663.         return $this->accountJournals;
  1664.     }
  1665.     public function addAccountJournal(AccountJournal $accountJournal) : self
  1666.     {
  1667.         if (!$this->accountJournals->contains($accountJournal)) {
  1668.             $this->accountJournals[] = $accountJournal;
  1669.             $accountJournal->setOnwer($this);
  1670.         }
  1671.         return $this;
  1672.     }
  1673.     public function removeAccountJournal(AccountJournal $accountJournal) : self
  1674.     {
  1675.         if ($this->accountJournals->contains($accountJournal)) {
  1676.             $this->accountJournals->removeElement($accountJournal);
  1677.             // set the owning side to null (unless already changed)
  1678.             if ($accountJournal->getOnwer() === $this) {
  1679.                 $accountJournal->setOnwer(null);
  1680.             }
  1681.         }
  1682.         return $this;
  1683.     }
  1684.     /**
  1685.      * @return Collection|CashJournal[]
  1686.      */
  1687.     public function getCashJournals() : Collection
  1688.     {
  1689.         return $this->cashJournals;
  1690.     }
  1691.     public function addCashJournal(CashJournal $cashJournal) : self
  1692.     {
  1693.         if (!$this->cashJournals->contains($cashJournal)) {
  1694.             $this->cashJournals[] = $cashJournal;
  1695.             $cashJournal->setOwner($this);
  1696.         }
  1697.         return $this;
  1698.     }
  1699.     public function removeCashJournal(CashJournal $cashJournal) : self
  1700.     {
  1701.         if ($this->cashJournals->contains($cashJournal)) {
  1702.             $this->cashJournals->removeElement($cashJournal);
  1703.             // set the owning side to null (unless already changed)
  1704.             if ($cashJournal->getOwner() === $this) {
  1705.                 $cashJournal->setOwner(null);
  1706.             }
  1707.         }
  1708.         return $this;
  1709.     }
  1710.     /**
  1711.      * @return Collection|BudgetMonitoring[]
  1712.      */
  1713.     public function getBudgetMonitorings() : Collection
  1714.     {
  1715.         return $this->budgetMonitorings;
  1716.     }
  1717.     public function addBudgetMonitoring(BudgetMonitoring $budgetMonitoring) : self
  1718.     {
  1719.         if (!$this->budgetMonitorings->contains($budgetMonitoring)) {
  1720.             $this->budgetMonitorings[] = $budgetMonitoring;
  1721.             $budgetMonitoring->setOwner($this);
  1722.         }
  1723.         return $this;
  1724.     }
  1725.     public function removeBudgetMonitoring(BudgetMonitoring $budgetMonitoring) : self
  1726.     {
  1727.         if ($this->budgetMonitorings->contains($budgetMonitoring)) {
  1728.             $this->budgetMonitorings->removeElement($budgetMonitoring);
  1729.             // set the owning side to null (unless already changed)
  1730.             if ($budgetMonitoring->getOwner() === $this) {
  1731.                 $budgetMonitoring->setOwner(null);
  1732.             }
  1733.         }
  1734.         return $this;
  1735.     }
  1736.     /**
  1737.      * @return Collection|Provider[]
  1738.      */
  1739.     public function getProviders() : Collection
  1740.     {
  1741.         return $this->providers;
  1742.     }
  1743.     public function addProvider(Provider $provider) : self
  1744.     {
  1745.         if (!$this->providers->contains($provider)) {
  1746.             $this->providers[] = $provider;
  1747.             $provider->setOwner($this);
  1748.         }
  1749.         return $this;
  1750.     }
  1751.     public function removeProvider(Provider $provider) : self
  1752.     {
  1753.         if ($this->providers->contains($provider)) {
  1754.             $this->providers->removeElement($provider);
  1755.             // set the owning side to null (unless already changed)
  1756.             if ($provider->getOwner() === $this) {
  1757.                 $provider->setOwner(null);
  1758.             }
  1759.         }
  1760.         return $this;
  1761.     }
  1762.     /**
  1763.      * @return Collection|Quote[]
  1764.      */
  1765.     public function getQuotes() : Collection
  1766.     {
  1767.         return $this->quotes;
  1768.     }
  1769.     public function addQuote(Quote $quote) : self
  1770.     {
  1771.         if (!$this->quotes->contains($quote)) {
  1772.             $this->quotes[] = $quote;
  1773.             $quote->setOwner($this);
  1774.         }
  1775.         return $this;
  1776.     }
  1777.     public function removeQuote(Quote $quote) : self
  1778.     {
  1779.         if ($this->quotes->contains($quote)) {
  1780.             $this->quotes->removeElement($quote);
  1781.             // set the owning side to null (unless already changed)
  1782.             if ($quote->getOwner() === $this) {
  1783.                 $quote->setOwner(null);
  1784.             }
  1785.         }
  1786.         return $this;
  1787.     }
  1788.     /**
  1789.      * @return Collection|PurchaseOrder[]
  1790.      */
  1791.     public function getPurchaseOrders() : Collection
  1792.     {
  1793.         return $this->purchaseOrders;
  1794.     }
  1795.     public function addPurchaseOrder(PurchaseOrder $purchaseOrder) : self
  1796.     {
  1797.         if (!$this->purchaseOrders->contains($purchaseOrder)) {
  1798.             $this->purchaseOrders[] = $purchaseOrder;
  1799.             $purchaseOrder->setOwner($this);
  1800.         }
  1801.         return $this;
  1802.     }
  1803.     public function removePurchaseOrder(PurchaseOrder $purchaseOrder) : self
  1804.     {
  1805.         if ($this->purchaseOrders->contains($purchaseOrder)) {
  1806.             $this->purchaseOrders->removeElement($purchaseOrder);
  1807.             // set the owning side to null (unless already changed)
  1808.             if ($purchaseOrder->getOwner() === $this) {
  1809.                 $purchaseOrder->setOwner(null);
  1810.             }
  1811.         }
  1812.         return $this;
  1813.     }
  1814.     /**
  1815.      * @return Collection|Project[]
  1816.      */
  1817.     public function getProjects() : Collection
  1818.     {
  1819.         return $this->projects;
  1820.     }
  1821.     public function addProject(Project $project) : self
  1822.     {
  1823.         if (!$this->projects->contains($project)) {
  1824.             $this->projects[] = $project;
  1825.             $project->setOwner($this);
  1826.         }
  1827.         return $this;
  1828.     }
  1829.     public function removeProject(Project $project) : self
  1830.     {
  1831.         if ($this->projects->contains($project)) {
  1832.             $this->projects->removeElement($project);
  1833.             // set the owning side to null (unless already changed)
  1834.             if ($project->getOwner() === $this) {
  1835.                 $project->setOwner(null);
  1836.             }
  1837.         }
  1838.         return $this;
  1839.     }
  1840.     /**
  1841.      * @return Collection|BudgetLine[]
  1842.      */
  1843.     public function getBudgetLines() : Collection
  1844.     {
  1845.         return $this->budgetLines;
  1846.     }
  1847.     public function addBudgetLine(BudgetLine $budgetLine) : self
  1848.     {
  1849.         if (!$this->budgetLines->contains($budgetLine)) {
  1850.             $this->budgetLines[] = $budgetLine;
  1851.             $budgetLine->setOwner($this);
  1852.         }
  1853.         return $this;
  1854.     }
  1855.     public function removeBudgetLine(BudgetLine $budgetLine) : self
  1856.     {
  1857.         if ($this->budgetLines->contains($budgetLine)) {
  1858.             $this->budgetLines->removeElement($budgetLine);
  1859.             // set the owning side to null (unless already changed)
  1860.             if ($budgetLine->getOwner() === $this) {
  1861.                 $budgetLine->setOwner(null);
  1862.             }
  1863.         }
  1864.         return $this;
  1865.     }
  1866.     /**
  1867.      * @return Collection|Funding[]
  1868.      */
  1869.     public function getFundings() : Collection
  1870.     {
  1871.         return $this->fundings;
  1872.     }
  1873.     public function addFunding(Funding $funding) : self
  1874.     {
  1875.         if (!$this->fundings->contains($funding)) {
  1876.             $this->fundings[] = $funding;
  1877.             $funding->setOwner($this);
  1878.         }
  1879.         return $this;
  1880.     }
  1881.     public function removeFunding(Funding $funding) : self
  1882.     {
  1883.         if ($this->fundings->contains($funding)) {
  1884.             $this->fundings->removeElement($funding);
  1885.             // set the owning side to null (unless already changed)
  1886.             if ($funding->getOwner() === $this) {
  1887.                 $funding->setOwner(null);
  1888.             }
  1889.         }
  1890.         return $this;
  1891.     }
  1892.     /**
  1893.      * @return Collection|Payment[]
  1894.      */
  1895.     public function getPayments() : Collection
  1896.     {
  1897.         return $this->payments;
  1898.     }
  1899.     public function addPayment(Payment $payment) : self
  1900.     {
  1901.         if (!$this->payments->contains($payment)) {
  1902.             $this->payments[] = $payment;
  1903.             $payment->setOwner($this);
  1904.         }
  1905.         return $this;
  1906.     }
  1907.     public function removePayment(Payment $payment) : self
  1908.     {
  1909.         if ($this->payments->contains($payment)) {
  1910.             $this->payments->removeElement($payment);
  1911.             // set the owning side to null (unless already changed)
  1912.             if ($payment->getOwner() === $this) {
  1913.                 $payment->setOwner(null);
  1914.             }
  1915.         }
  1916.         return $this;
  1917.     }
  1918.     /**
  1919.      * @return Collection|Requisition[]
  1920.      */
  1921.     public function getRequisitions() : Collection
  1922.     {
  1923.         return $this->requisitions;
  1924.     }
  1925.     public function addRequisition(Requisition $requisition) : self
  1926.     {
  1927.         if (!$this->requisitions->contains($requisition)) {
  1928.             $this->requisitions[] = $requisition;
  1929.             $requisition->setOwner($this);
  1930.         }
  1931.         return $this;
  1932.     }
  1933.     public function removeRequisition(Requisition $requisition) : self
  1934.     {
  1935.         if ($this->requisitions->contains($requisition)) {
  1936.             $this->requisitions->removeElement($requisition);
  1937.             // set the owning side to null (unless already changed)
  1938.             if ($requisition->getOwner() === $this) {
  1939.                 $requisition->setOwner(null);
  1940.             }
  1941.         }
  1942.         return $this;
  1943.     }
  1944.     /**
  1945.      * @return Collection|Contract[]
  1946.      */
  1947.     public function getContracts() : Collection
  1948.     {
  1949.         return $this->contracts;
  1950.     }
  1951.     public function addContract(Contract $contract) : self
  1952.     {
  1953.         if (!$this->contracts->contains($contract)) {
  1954.             $this->contracts[] = $contract;
  1955.             $contract->setConcernerd($this);
  1956.         }
  1957.         return $this;
  1958.     }
  1959.     public function removeContract(Contract $contract) : self
  1960.     {
  1961.         if ($this->contracts->contains($contract)) {
  1962.             $this->contracts->removeElement($contract);
  1963.             // set the owning side to null (unless already changed)
  1964.             if ($contract->getConcernerd() === $this) {
  1965.                 $contract->setConcernerd(null);
  1966.             }
  1967.         }
  1968.         return $this;
  1969.     }
  1970.     /**
  1971.      * @return Collection|Perfomance[]
  1972.      */
  1973.     public function getPerfomances() : Collection
  1974.     {
  1975.         return $this->perfomances;
  1976.     }
  1977.     public function addPerfomance(Perfomance $perfomance) : self
  1978.     {
  1979.         if (!$this->perfomances->contains($perfomance)) {
  1980.             $this->perfomances[] = $perfomance;
  1981.             $perfomance->setConcerned($this);
  1982.         }
  1983.         return $this;
  1984.     }
  1985.     public function removePerfomance(Perfomance $perfomance) : self
  1986.     {
  1987.         if ($this->perfomances->contains($perfomance)) {
  1988.             $this->perfomances->removeElement($perfomance);
  1989.             // set the owning side to null (unless already changed)
  1990.             if ($perfomance->getConcerned() === $this) {
  1991.                 $perfomance->setConcerned(null);
  1992.             }
  1993.         }
  1994.         return $this;
  1995.     }
  1996.     /**
  1997.      * @return Collection|Leave[]
  1998.      */
  1999.     public function getLeaves() : Collection
  2000.     {
  2001.         return $this->leaves;
  2002.     }
  2003.     public function addLeaf(Leave $leaf) : self
  2004.     {
  2005.         if (!$this->leaves->contains($leaf)) {
  2006.             $this->leaves[] = $leaf;
  2007.             $leaf->setConcerned($this);
  2008.         }
  2009.         return $this;
  2010.     }
  2011.     public function removeLeaf(Leave $leaf) : self
  2012.     {
  2013.         if ($this->leaves->contains($leaf)) {
  2014.             $this->leaves->removeElement($leaf);
  2015.             // set the owning side to null (unless already changed)
  2016.             if ($leaf->getConcerned() === $this) {
  2017.                 $leaf->setConcerned(null);
  2018.             }
  2019.         }
  2020.         return $this;
  2021.     }
  2022.     /**
  2023.      * @return Collection|Leave[]
  2024.      */
  2025.     public function getAgentProcessedLeaves() : Collection
  2026.     {
  2027.         return $this->agentProcessedLeaves;
  2028.     }
  2029.     public function addAgentProcessedLeaf(Leave $agentProcessedLeaf) : self
  2030.     {
  2031.         if (!$this->agentProcessedLeaves->contains($agentProcessedLeaf)) {
  2032.             $this->agentProcessedLeaves[] = $agentProcessedLeaf;
  2033.             $agentProcessedLeaf->setAgentProcessed($this);
  2034.         }
  2035.         return $this;
  2036.     }
  2037.     public function removeAgentProcessedLeaf(Leave $agentProcessedLeaf) : self
  2038.     {
  2039.         if ($this->agentProcessedLeaves->contains($agentProcessedLeaf)) {
  2040.             $this->agentProcessedLeaves->removeElement($agentProcessedLeaf);
  2041.             // set the owning side to null (unless already changed)
  2042.             if ($agentProcessedLeaf->getAgentProcessed() === $this) {
  2043.                 $agentProcessedLeaf->setAgentProcessed(null);
  2044.             }
  2045.         }
  2046.         return $this;
  2047.     }
  2048.     /**
  2049.      * @return Collection|Perfomance[]
  2050.      */
  2051.     public function getAgentProcessedPerfomances() : Collection
  2052.     {
  2053.         return $this->agentProcessedPerfomances;
  2054.     }
  2055.     public function addAgentProcessedPerfomance(Perfomance $agentProcessedPerfomance) : self
  2056.     {
  2057.         if (!$this->agentProcessedPerfomances->contains($agentProcessedPerfomance)) {
  2058.             $this->agentProcessedPerfomances[] = $agentProcessedPerfomance;
  2059.             $agentProcessedPerfomance->setAgentProcessed($this);
  2060.         }
  2061.         return $this;
  2062.     }
  2063.     public function removeAgentProcessedPerfomance(Perfomance $agentProcessedPerfomance) : self
  2064.     {
  2065.         if ($this->agentProcessedPerfomances->contains($agentProcessedPerfomance)) {
  2066.             $this->agentProcessedPerfomances->removeElement($agentProcessedPerfomance);
  2067.             // set the owning side to null (unless already changed)
  2068.             if ($agentProcessedPerfomance->getAgentProcessed() === $this) {
  2069.                 $agentProcessedPerfomance->setAgentProcessed(null);
  2070.             }
  2071.         }
  2072.         return $this;
  2073.     }
  2074.     /**
  2075.      * @return Collection|Contract[]
  2076.      */
  2077.     public function getAgentProcessedContracts() : Collection
  2078.     {
  2079.         return $this->agentProcessedContracts;
  2080.     }
  2081.     public function addAgentProcessedContract(Contract $agentProcessedContract) : self
  2082.     {
  2083.         if (!$this->agentProcessedContracts->contains($agentProcessedContract)) {
  2084.             $this->agentProcessedContracts[] = $agentProcessedContract;
  2085.             $agentProcessedContract->setAgentProcessed($this);
  2086.         }
  2087.         return $this;
  2088.     }
  2089.     public function removeAgentProcessedContract(Contract $agentProcessedContract) : self
  2090.     {
  2091.         if ($this->agentProcessedContracts->contains($agentProcessedContract)) {
  2092.             $this->agentProcessedContracts->removeElement($agentProcessedContract);
  2093.             // set the owning side to null (unless already changed)
  2094.             if ($agentProcessedContract->getAgentProcessed() === $this) {
  2095.                 $agentProcessedContract->setAgentProcessed(null);
  2096.             }
  2097.         }
  2098.         return $this;
  2099.     }
  2100.     /**
  2101.      * @return Collection|JobDescription[]
  2102.      */
  2103.     public function getAgentProcessedJobDescription() : Collection
  2104.     {
  2105.         return $this->agentProcessedJobDescription;
  2106.     }
  2107.     public function addAgentProcessedJobDescription(JobDescription $agentProcessedJobDescription) : self
  2108.     {
  2109.         if (!$this->agentProcessedJobDescription->contains($agentProcessedJobDescription)) {
  2110.             $this->agentProcessedJobDescription[] = $agentProcessedJobDescription;
  2111.             $agentProcessedJobDescription->setAgentProcessed($this);
  2112.         }
  2113.         return $this;
  2114.     }
  2115.     public function removeAgentProcessedJobDescription(JobDescription $agentProcessedJobDescription) : self
  2116.     {
  2117.         if ($this->agentProcessedJobDescription->contains($agentProcessedJobDescription)) {
  2118.             $this->agentProcessedJobDescription->removeElement($agentProcessedJobDescription);
  2119.             // set the owning side to null (unless already changed)
  2120.             if ($agentProcessedJobDescription->getAgentProcessed() === $this) {
  2121.                 $agentProcessedJobDescription->setAgentProcessed(null);
  2122.             }
  2123.         }
  2124.         return $this;
  2125.     }
  2126.     /**
  2127.      * @return Collection|Caution[]
  2128.      */
  2129.     public function getCautions() : Collection
  2130.     {
  2131.         return $this->cautions;
  2132.     }
  2133.     public function addCaution(Caution $caution) : self
  2134.     {
  2135.         if (!$this->cautions->contains($caution)) {
  2136.             $this->cautions[] = $caution;
  2137.             $caution->setConcerned($this);
  2138.         }
  2139.         return $this;
  2140.     }
  2141.     public function removeCaution(Caution $caution) : self
  2142.     {
  2143.         if ($this->cautions->contains($caution)) {
  2144.             $this->cautions->removeElement($caution);
  2145.             // set the owning side to null (unless already changed)
  2146.             if ($caution->getConcerned() === $this) {
  2147.                 $caution->setConcerned(null);
  2148.             }
  2149.         }
  2150.         return $this;
  2151.     }
  2152.     /**
  2153.      * @return Collection|Caution[]
  2154.      */
  2155.     public function getAgentProcessedCaution() : Collection
  2156.     {
  2157.         return $this->agentProcessedCaution;
  2158.     }
  2159.     public function addAgentProcessedCaution(Caution $agentProcessedCaution) : self
  2160.     {
  2161.         if (!$this->agentProcessedCaution->contains($agentProcessedCaution)) {
  2162.             $this->agentProcessedCaution[] = $agentProcessedCaution;
  2163.             $agentProcessedCaution->setAgentProcessed($this);
  2164.         }
  2165.         return $this;
  2166.     }
  2167.     public function removeAgentProcessedCaution(Caution $agentProcessedCaution) : self
  2168.     {
  2169.         if ($this->agentProcessedCaution->contains($agentProcessedCaution)) {
  2170.             $this->agentProcessedCaution->removeElement($agentProcessedCaution);
  2171.             // set the owning side to null (unless already changed)
  2172.             if ($agentProcessedCaution->getAgentProcessed() === $this) {
  2173.                 $agentProcessedCaution->setAgentProcessed(null);
  2174.             }
  2175.         }
  2176.         return $this;
  2177.     }
  2178.     /**
  2179.      * @return Collection|Presence[]
  2180.      */
  2181.     public function getPresences() : Collection
  2182.     {
  2183.         return $this->presences;
  2184.     }
  2185.     public function addPresence(Presence $presence) : self
  2186.     {
  2187.         if (!$this->presences->contains($presence)) {
  2188.             $this->presences[] = $presence;
  2189.             $presence->setAgent($this);
  2190.         }
  2191.         return $this;
  2192.     }
  2193.     public function removePresence(Presence $presence) : self
  2194.     {
  2195.         if ($this->presences->removeElement($presence)) {
  2196.             // set the owning side to null (unless already changed)
  2197.             if ($presence->getAgent() === $this) {
  2198.                 $presence->setAgent(null);
  2199.             }
  2200.         }
  2201.         return $this;
  2202.     }
  2203.     /**
  2204.      * @return Collection|Presence[]
  2205.      */
  2206.     public function getAgentPresences() : Collection
  2207.     {
  2208.         return $this->agentPresences;
  2209.     }
  2210.     public function addAgentPresence(Presence $agentPresence) : self
  2211.     {
  2212.         if (!$this->agentPresences->contains($agentPresence)) {
  2213.             $this->agentPresences[] = $agentPresence;
  2214.             $agentPresence->setAgentProcess($this);
  2215.         }
  2216.         return $this;
  2217.     }
  2218.     public function removeAgentPresence(Presence $agentPresence) : self
  2219.     {
  2220.         if ($this->agentPresences->removeElement($agentPresence)) {
  2221.             // set the owning side to null (unless already changed)
  2222.             if ($agentPresence->getAgentProcess() === $this) {
  2223.                 $agentPresence->setAgentProcess(null);
  2224.             }
  2225.         }
  2226.         return $this;
  2227.     }
  2228.     /**
  2229.      * @return Collection|Receipt[]
  2230.      */
  2231.     public function getReceipts() : Collection
  2232.     {
  2233.         return $this->receipts;
  2234.     }
  2235.     public function addReceipt(Receipt $receipt) : self
  2236.     {
  2237.         if (!$this->receipts->contains($receipt)) {
  2238.             $this->receipts[] = $receipt;
  2239.             $receipt->setOwner($this);
  2240.         }
  2241.         return $this;
  2242.     }
  2243.     public function removeReceipt(Receipt $receipt) : self
  2244.     {
  2245.         if ($this->receipts->removeElement($receipt)) {
  2246.             // set the owning side to null (unless already changed)
  2247.             if ($receipt->getOwner() === $this) {
  2248.                 $receipt->setOwner(null);
  2249.             }
  2250.         }
  2251.         return $this;
  2252.     }
  2253.     /**
  2254.      * @return Collection|Receipt[]
  2255.      */
  2256.     public function getReceiptAgents() : Collection
  2257.     {
  2258.         return $this->receiptAgents;
  2259.     }
  2260.     public function addReceiptAgent(Receipt $receiptAgent) : self
  2261.     {
  2262.         if (!$this->receiptAgents->contains($receiptAgent)) {
  2263.             $this->receiptAgents[] = $receiptAgent;
  2264.             $receiptAgent->setAgentProcessed($this);
  2265.         }
  2266.         return $this;
  2267.     }
  2268.     public function removeReceiptAgent(Receipt $receiptAgent) : self
  2269.     {
  2270.         if ($this->receiptAgents->removeElement($receiptAgent)) {
  2271.             // set the owning side to null (unless already changed)
  2272.             if ($receiptAgent->getAgentProcessed() === $this) {
  2273.                 $receiptAgent->setAgentProcessed(null);
  2274.             }
  2275.         }
  2276.         return $this;
  2277.     }
  2278.     /**
  2279.      * @return Collection|Award[]
  2280.      */
  2281.     public function getAwards() : Collection
  2282.     {
  2283.         return $this->awards;
  2284.     }
  2285.     public function addAward(Award $award) : self
  2286.     {
  2287.         if (!$this->awards->contains($award)) {
  2288.             $this->awards[] = $award;
  2289.             $award->setPretending($this);
  2290.         }
  2291.         return $this;
  2292.     }
  2293.     public function removeAward(Award $award) : self
  2294.     {
  2295.         if ($this->awards->removeElement($award)) {
  2296.             // set the owning side to null (unless already changed)
  2297.             if ($award->getPretending() === $this) {
  2298.                 $award->setPretending(null);
  2299.             }
  2300.         }
  2301.         return $this;
  2302.     }
  2303.     /**
  2304.      * @return Collection|Award[]
  2305.      */
  2306.     public function getOwnerAwards() : Collection
  2307.     {
  2308.         return $this->ownerAwards;
  2309.     }
  2310.     public function addOwnerAward(Award $ownerAward) : self
  2311.     {
  2312.         if (!$this->ownerAwards->contains($ownerAward)) {
  2313.             $this->ownerAwards[] = $ownerAward;
  2314.             $ownerAward->setOwner($this);
  2315.         }
  2316.         return $this;
  2317.     }
  2318.     public function removeOwnerAward(Award $ownerAward) : self
  2319.     {
  2320.         if ($this->ownerAwards->removeElement($ownerAward)) {
  2321.             // set the owning side to null (unless already changed)
  2322.             if ($ownerAward->getOwner() === $this) {
  2323.                 $ownerAward->setOwner(null);
  2324.             }
  2325.         }
  2326.         return $this;
  2327.     }
  2328.     /**
  2329.      * @return Collection|Budget[]
  2330.      */
  2331.     public function getBudgets() : Collection
  2332.     {
  2333.         return $this->budgets;
  2334.     }
  2335.     public function addBudget(Budget $budget) : self
  2336.     {
  2337.         if (!$this->budgets->contains($budget)) {
  2338.             $this->budgets[] = $budget;
  2339.             $budget->setAgentProcessed($this);
  2340.         }
  2341.         return $this;
  2342.     }
  2343.     public function removeBudget(Budget $budget) : self
  2344.     {
  2345.         if ($this->budgets->removeElement($budget)) {
  2346.             // set the owning side to null (unless already changed)
  2347.             if ($budget->getAgentProcessed() === $this) {
  2348.                 $budget->setAgentProcessed(null);
  2349.             }
  2350.         }
  2351.         return $this;
  2352.     }
  2353.     /**
  2354.      * @return Collection|Requisition[]
  2355.      */
  2356.     public function getFRequisitions() : Collection
  2357.     {
  2358.         return $this->fRequisitions;
  2359.     }
  2360.     public function addFRequisition(Requisition $fRequisition) : self
  2361.     {
  2362.         if (!$this->fRequisitions->contains($fRequisition)) {
  2363.             $this->fRequisitions[] = $fRequisition;
  2364.             $fRequisition->setFinanceDeal($this);
  2365.         }
  2366.         return $this;
  2367.     }
  2368.     public function removeFRequisition(Requisition $fRequisition) : self
  2369.     {
  2370.         if ($this->fRequisitions->removeElement($fRequisition)) {
  2371.             // set the owning side to null (unless already changed)
  2372.             if ($fRequisition->getFinanceDeal() === $this) {
  2373.                 $fRequisition->setFinanceDeal(null);
  2374.             }
  2375.         }
  2376.         return $this;
  2377.     }
  2378.     /**
  2379.      * @return Collection|Requisition[]
  2380.      */
  2381.     public function getMRequisitions() : Collection
  2382.     {
  2383.         return $this->mRequisitions;
  2384.     }
  2385.     public function addMRequisition(Requisition $mRequisition) : self
  2386.     {
  2387.         if (!$this->mRequisitions->contains($mRequisition)) {
  2388.             $this->mRequisitions[] = $mRequisition;
  2389.             $mRequisition->setManagementDeal($this);
  2390.         }
  2391.         return $this;
  2392.     }
  2393.     public function removeMRequisition(Requisition $mRequisition) : self
  2394.     {
  2395.         if ($this->mRequisitions->removeElement($mRequisition)) {
  2396.             // set the owning side to null (unless already changed)
  2397.             if ($mRequisition->getManagementDeal() === $this) {
  2398.                 $mRequisition->setManagementDeal(null);
  2399.             }
  2400.         }
  2401.         return $this;
  2402.     }
  2403.     /**
  2404.      * @return Collection|Requisition[]
  2405.      */
  2406.     public function getDRequisitions() : Collection
  2407.     {
  2408.         return $this->dRequisitions;
  2409.     }
  2410.     public function addDRequisition(Requisition $dRequisition) : self
  2411.     {
  2412.         if (!$this->dRequisitions->contains($dRequisition)) {
  2413.             $this->dRequisitions[] = $dRequisition;
  2414.             $dRequisition->setDepartmentDeal($this);
  2415.         }
  2416.         return $this;
  2417.     }
  2418.     public function removeDRequisition(Requisition $dRequisition) : self
  2419.     {
  2420.         if ($this->dRequisitions->removeElement($dRequisition)) {
  2421.             // set the owning side to null (unless already changed)
  2422.             if ($dRequisition->getDepartmentDeal() === $this) {
  2423.                 $dRequisition->setDepartmentDeal(null);
  2424.             }
  2425.         }
  2426.         return $this;
  2427.     }
  2428.     /**
  2429.      * @return Collection|Observation[]
  2430.      */
  2431.     public function getObservations() : Collection
  2432.     {
  2433.         return $this->observations;
  2434.     }
  2435.     public function addObservation(Observation $observation) : self
  2436.     {
  2437.         if (!$this->observations->contains($observation)) {
  2438.             $this->observations[] = $observation;
  2439.             $observation->setSignedBy($this);
  2440.         }
  2441.         return $this;
  2442.     }
  2443.     public function removeObservation(Observation $observation) : self
  2444.     {
  2445.         if ($this->observations->removeElement($observation)) {
  2446.             // set the owning side to null (unless already changed)
  2447.             if ($observation->getSignedBy() === $this) {
  2448.                 $observation->setSignedBy(null);
  2449.             }
  2450.         }
  2451.         return $this;
  2452.     }
  2453.     public function getProject() : ?Project
  2454.     {
  2455.         return $this->project;
  2456.     }
  2457.     public function setProject(?Project $project) : self
  2458.     {
  2459.         $this->project $project;
  2460.         return $this;
  2461.     }
  2462.     /**
  2463.      * @return Collection|Task[]
  2464.      */
  2465.     public function getTasks() : Collection
  2466.     {
  2467.         return $this->tasks;
  2468.     }
  2469.     public function addTask(Task $task) : self
  2470.     {
  2471.         if (!$this->tasks->contains($task)) {
  2472.             $this->tasks[] = $task;
  2473.             $task->setOwner($this);
  2474.         }
  2475.         return $this;
  2476.     }
  2477.     public function removeTask(Task $task) : self
  2478.     {
  2479.         if ($this->tasks->removeElement($task)) {
  2480.             // set the owning side to null (unless already changed)
  2481.             if ($task->getOwner() === $this) {
  2482.                 $task->setOwner(null);
  2483.             }
  2484.         }
  2485.         return $this;
  2486.     }
  2487.     /**
  2488.      * @return Collection|Task[]
  2489.      */
  2490.     public function getSuggestTasks() : Collection
  2491.     {
  2492.         return $this->suggestTasks;
  2493.     }
  2494.     public function addSuggestTask(Task $suggestTask) : self
  2495.     {
  2496.         if (!$this->suggestTasks->contains($suggestTask)) {
  2497.             $this->suggestTasks[] = $suggestTask;
  2498.             $suggestTask->addSuggest($this);
  2499.         }
  2500.         return $this;
  2501.     }
  2502.     public function removeSuggestTask(Task $suggestTask) : self
  2503.     {
  2504.         if ($this->suggestTasks->removeElement($suggestTask)) {
  2505.             $suggestTask->removeSuggest($this);
  2506.         }
  2507.         return $this;
  2508.     }
  2509.     /**
  2510.      * @return Collection|Requisition[]
  2511.      */
  2512.     public function getFMRequisitions() : Collection
  2513.     {
  2514.         return $this->fMRequisitions;
  2515.     }
  2516.     public function addFMRequisition(Requisition $fMRequisition) : self
  2517.     {
  2518.         if (!$this->fMRequisitions->contains($fMRequisition)) {
  2519.             $this->fMRequisitions[] = $fMRequisition;
  2520.             $fMRequisition->setFinanceManagerDeal($this);
  2521.         }
  2522.         return $this;
  2523.     }
  2524.     public function removeFMRequisition(Requisition $fMRequisition) : self
  2525.     {
  2526.         if ($this->fMRequisitions->removeElement($fMRequisition)) {
  2527.             // set the owning side to null (unless already changed)
  2528.             if ($fMRequisition->getFinanceManagerDeal() === $this) {
  2529.                 $fMRequisition->setFinanceManagerDeal(null);
  2530.             }
  2531.         }
  2532.         return $this;
  2533.     }
  2534.     /**
  2535.      * @return Collection|Payment[]
  2536.      */
  2537.     public function getMPayments() : Collection
  2538.     {
  2539.         return $this->mPayments;
  2540.     }
  2541.     public function addMPayment(Payment $mPayment) : self
  2542.     {
  2543.         if (!$this->mPayments->contains($mPayment)) {
  2544.             $this->mPayments[] = $mPayment;
  2545.             $mPayment->setManagementDeal($this);
  2546.         }
  2547.         return $this;
  2548.     }
  2549.     public function removeMPayment(Payment $mPayment) : self
  2550.     {
  2551.         if ($this->mPayments->removeElement($mPayment)) {
  2552.             // set the owning side to null (unless already changed)
  2553.             if ($mPayment->getManagementDeal() === $this) {
  2554.                 $mPayment->setManagementDeal(null);
  2555.             }
  2556.         }
  2557.         return $this;
  2558.     }
  2559.     /**
  2560.      * @return Collection|Payment[]
  2561.      */
  2562.     public function getCPayments() : Collection
  2563.     {
  2564.         return $this->cPayments;
  2565.     }
  2566.     public function addCPayment(Payment $cPayment) : self
  2567.     {
  2568.         if (!$this->cPayments->contains($cPayment)) {
  2569.             $this->cPayments[] = $cPayment;
  2570.             $cPayment->setCheckoutDeal($this);
  2571.         }
  2572.         return $this;
  2573.     }
  2574.     public function removeCPayment(Payment $cPayment) : self
  2575.     {
  2576.         if ($this->cPayments->removeElement($cPayment)) {
  2577.             // set the owning side to null (unless already changed)
  2578.             if ($cPayment->getCheckoutDeal() === $this) {
  2579.                 $cPayment->setCheckoutDeal(null);
  2580.             }
  2581.         }
  2582.         return $this;
  2583.     }
  2584.     /**
  2585.      * @return Collection|Airtime[]
  2586.      */
  2587.     public function getAirtimes() : Collection
  2588.     {
  2589.         return $this->airtimes;
  2590.     }
  2591.     public function addAirtime(Airtime $airtime) : self
  2592.     {
  2593.         if (!$this->airtimes->contains($airtime)) {
  2594.             $this->airtimes[] = $airtime;
  2595.             $airtime->setOwner($this);
  2596.         }
  2597.         return $this;
  2598.     }
  2599.     public function removeAirtime(Airtime $airtime) : self
  2600.     {
  2601.         if ($this->airtimes->removeElement($airtime)) {
  2602.             // set the owning side to null (unless already changed)
  2603.             if ($airtime->getOwner() === $this) {
  2604.                 $airtime->setOwner(null);
  2605.             }
  2606.         }
  2607.         return $this;
  2608.     }
  2609.     /**
  2610.      * @return Collection|Airtime[]
  2611.      */
  2612.     public function getAgtAirtimes() : Collection
  2613.     {
  2614.         return $this->agtAirtimes;
  2615.     }
  2616.     public function addAgtAirtime(Airtime $agtAirtime) : self
  2617.     {
  2618.         if (!$this->agtAirtimes->contains($agtAirtime)) {
  2619.             $this->agtAirtimes[] = $agtAirtime;
  2620.             $agtAirtime->setAgentProcessed($this);
  2621.         }
  2622.         return $this;
  2623.     }
  2624.     public function removeAgtAirtime(Airtime $agtAirtime) : self
  2625.     {
  2626.         if ($this->agtAirtimes->removeElement($agtAirtime)) {
  2627.             // set the owning side to null (unless already changed)
  2628.             if ($agtAirtime->getAgentProcessed() === $this) {
  2629.                 $agtAirtime->setAgentProcessed(null);
  2630.             }
  2631.         }
  2632.         return $this;
  2633.     }
  2634.     /**
  2635.      * @return Collection|Requisition[]
  2636.      */
  2637.     public function getRequisitionViews() : Collection
  2638.     {
  2639.         return $this->requisitionViews;
  2640.     }
  2641.     public function addRequisitionView(Requisition $requisitionView) : self
  2642.     {
  2643.         if (!$this->requisitionViews->contains($requisitionView)) {
  2644.             $this->requisitionViews[] = $requisitionView;
  2645.             $requisitionView->addViewBy($this);
  2646.         }
  2647.         return $this;
  2648.     }
  2649.     public function removeRequisitionView(Requisition $requisitionView) : self
  2650.     {
  2651.         if ($this->requisitionViews->removeElement($requisitionView)) {
  2652.             $requisitionView->removeViewBy($this);
  2653.         }
  2654.         return $this;
  2655.     }
  2656.     /**
  2657.      * @return Collection|Requisition[]
  2658.      */
  2659.     public function getCkRequisitions() : Collection
  2660.     {
  2661.         return $this->ckRequisitions;
  2662.     }
  2663.     public function addCkRequisition(Requisition $ckRequisition) : self
  2664.     {
  2665.         if (!$this->ckRequisitions->contains($ckRequisition)) {
  2666.             $this->ckRequisitions[] = $ckRequisition;
  2667.             $ckRequisition->setCheckoutDeal($this);
  2668.         }
  2669.         return $this;
  2670.     }
  2671.     public function removeCkRequisition(Requisition $ckRequisition) : self
  2672.     {
  2673.         if ($this->ckRequisitions->removeElement($ckRequisition)) {
  2674.             // set the owning side to null (unless already changed)
  2675.             if ($ckRequisition->getCheckoutDeal() === $this) {
  2676.                 $ckRequisition->setCheckoutDeal(null);
  2677.             }
  2678.         }
  2679.         return $this;
  2680.     }
  2681.     /**
  2682.      * @return Collection|Requisition[]
  2683.      */
  2684.     public function getCRBRequisitions() : Collection
  2685.     {
  2686.         return $this->cRBRequisitions;
  2687.     }
  2688.     public function addCRBRequisition(Requisition $cRBRequisition) : self
  2689.     {
  2690.         if (!$this->cRBRequisitions->contains($cRBRequisition)) {
  2691.             $this->cRBRequisitions[] = $cRBRequisition;
  2692.             $cRBRequisition->setCheckoutReturnBy($this);
  2693.         }
  2694.         return $this;
  2695.     }
  2696.     public function removeCRBRequisition(Requisition $cRBRequisition) : self
  2697.     {
  2698.         if ($this->cRBRequisitions->removeElement($cRBRequisition)) {
  2699.             // set the owning side to null (unless already changed)
  2700.             if ($cRBRequisition->getCheckoutReturnBy() === $this) {
  2701.                 $cRBRequisition->setCheckoutReturnBy(null);
  2702.             }
  2703.         }
  2704.         return $this;
  2705.     }
  2706.     /**
  2707.      * @return Collection|AccountProject[]
  2708.      */
  2709.     public function getAccountProjects() : Collection
  2710.     {
  2711.         return $this->accountProjects;
  2712.     }
  2713.     public function addAccountProject(AccountProject $accountProject) : self
  2714.     {
  2715.         if (!$this->accountProjects->contains($accountProject)) {
  2716.             $this->accountProjects[] = $accountProject;
  2717.             $accountProject->setAgentProcessed($this);
  2718.         }
  2719.         return $this;
  2720.     }
  2721.     public function removeAccountProject(AccountProject $accountProject) : self
  2722.     {
  2723.         if ($this->accountProjects->removeElement($accountProject)) {
  2724.             // set the owning side to null (unless already changed)
  2725.             if ($accountProject->getAgentProcessed() === $this) {
  2726.                 $accountProject->setAgentProcessed(null);
  2727.             }
  2728.         }
  2729.         return $this;
  2730.     }
  2731.     /**
  2732.      * @return Collection|Operation[]
  2733.      */
  2734.     public function getOperations() : Collection
  2735.     {
  2736.         return $this->operations;
  2737.     }
  2738.     public function addOperation(Operation $operation) : self
  2739.     {
  2740.         if (!$this->operations->contains($operation)) {
  2741.             $this->operations[] = $operation;
  2742.             $operation->setOwner($this);
  2743.         }
  2744.         return $this;
  2745.     }
  2746.     public function removeOperation(Operation $operation) : self
  2747.     {
  2748.         if ($this->operations->removeElement($operation)) {
  2749.             // set the owning side to null (unless already changed)
  2750.             if ($operation->getOwner() === $this) {
  2751.                 $operation->setOwner(null);
  2752.             }
  2753.         }
  2754.         return $this;
  2755.     }
  2756.     /**
  2757.      * @return Collection|Account[]
  2758.      */
  2759.     public function getAccounts() : Collection
  2760.     {
  2761.         return $this->accounts;
  2762.     }
  2763.     public function addAccount(Account $account) : self
  2764.     {
  2765.         if (!$this->accounts->contains($account)) {
  2766.             $this->accounts[] = $account;
  2767.             $account->setOwner($this);
  2768.         }
  2769.         return $this;
  2770.     }
  2771.     public function removeAccount(Account $account) : self
  2772.     {
  2773.         if ($this->accounts->removeElement($account)) {
  2774.             // set the owning side to null (unless already changed)
  2775.             if ($account->getOwner() === $this) {
  2776.                 $account->setOwner(null);
  2777.             }
  2778.         }
  2779.         return $this;
  2780.     }
  2781.     /**
  2782.      * @return Collection|\App\Entity\Docs\Finance\Payment\Membre\Operation[]
  2783.      */
  2784.     public function getDeposits() : Collection
  2785.     {
  2786.         return $this->deposits;
  2787.     }
  2788.     public function addDeposit(\App\Entity\Docs\Finance\Payment\Membre\Operation $deposit) : self
  2789.     {
  2790.         if (!$this->deposits->contains($deposit)) {
  2791.             $this->deposits[] = $deposit;
  2792.             $deposit->setMember($this);
  2793.         }
  2794.         return $this;
  2795.     }
  2796.     public function removeDeposit(\App\Entity\Docs\Finance\Payment\Membre\Operation $deposit) : self
  2797.     {
  2798.         if ($this->deposits->removeElement($deposit)) {
  2799.             // set the owning side to null (unless already changed)
  2800.             if ($deposit->getMember() === $this) {
  2801.                 $deposit->setMember(null);
  2802.             }
  2803.         }
  2804.         return $this;
  2805.     }
  2806.     public function getCountry() : ?string
  2807.     {
  2808.         return $this->country;
  2809.     }
  2810.     public function setCountry(?string $country) : self
  2811.     {
  2812.         $this->country $country;
  2813.         return $this;
  2814.     }
  2815.     public function getParent() : ?self
  2816.     {
  2817.         return $this->parent;
  2818.     }
  2819.     public function setParent(?self $parent) : self
  2820.     {
  2821.         $this->parent $parent;
  2822.         return $this;
  2823.     }
  2824.     public function getKindMember() : ?string
  2825.     {
  2826.         return $this->KindMember;
  2827.         return $this;
  2828.     }
  2829.     public function setKindMember(?string $KindMember) : self
  2830.     {
  2831.         $this->KindMember $KindMember;
  2832.         return $this;
  2833.     }
  2834.     /**
  2835.      * @return Collection|self[]
  2836.      */
  2837.     public function getChildren() : Collection
  2838.     {
  2839.         return $this->children;
  2840.     }
  2841.     public function addChild(self $child) : self
  2842.     {
  2843.         if (!$this->children->contains($child)) {
  2844.             $this->children[] = $child;
  2845.             $child->setParent($this);
  2846.         }
  2847.         return $this;
  2848.     }
  2849.     public function removeChild(self $child) : self
  2850.     {
  2851.         if ($this->children->removeElement($child)) {
  2852.             // set the owning side to null (unless already changed)
  2853.             if ($child->getParent() === $this) {
  2854.                 $child->setParent(null);
  2855.             }
  2856.         }
  2857.         return $this;
  2858.     }
  2859.     public function getGrade() : ?string
  2860.     {
  2861.         return $this->grade;
  2862.     }
  2863.     public function setGrade(?string $grade) : self
  2864.     {
  2865.         $this->grade $grade;
  2866.         return $this;
  2867.     }
  2868.     /**
  2869.      * 
  2870.      */
  2871.     public function getContributions()
  2872.     {
  2873.         /**
  2874.          * @var \App\Entity\Docs\Finance\Payment\Membre\Operation[]
  2875.          */
  2876.         $opts $this->getDeposits();
  2877.         /**
  2878.          * @var \App\Entity\Docs\Finance\Payment\Operation[]
  2879.          */
  2880.         $contrs = [];
  2881.         foreach ($opts as $key => $opt) {
  2882.             array_push($contrs$opt->getPaymentOperation());
  2883.         }
  2884.         return $contrs;
  2885.     }
  2886.     /**
  2887.      * @return float
  2888.      */
  2889.     public function getNormalSoldCDF()
  2890.     {
  2891.         $sum 0;
  2892.         $contrs $this->getContributions();
  2893.         foreach ($contrs as $key => $contr) {
  2894.             $sum += $contr->getCashoutCdf() ?? 0.0;
  2895.         }
  2896.         return $sum;
  2897.     }
  2898.     /**
  2899.      * @return float
  2900.      */
  2901.     public function getNormalSoldUSD()
  2902.     {
  2903.         $sum 0;
  2904.         $contrs $this->getContributions();
  2905.         foreach ($contrs as $key => $contr) {
  2906.             $sum += $contr->getCashoutUsd() ?? 0.0;
  2907.         }
  2908.         return $sum;
  2909.     }
  2910.     /**
  2911.      * @return float
  2912.      */
  2913.     public function getOwnerSoldCDF()
  2914.     {
  2915.         $sum 0;
  2916.         /** 
  2917.          * @var \App\Entity\Docs\Finance\Payment\Membre\Operation[]
  2918.          */
  2919.         $contrs $this->getDeposits();
  2920.         foreach ($contrs as $key => $contr) {
  2921.             $sum += $contr->getDisbursementCdf() ?? 0.0;
  2922.         }
  2923.         return $sum;
  2924.     }
  2925.     /**
  2926.      * @return float
  2927.      */
  2928.     public function getOwnerSoldUSD()
  2929.     {
  2930.         $sum 0;
  2931.         /** 
  2932.          * @var \App\Entity\Docs\Finance\Payment\Membre\Operation[]
  2933.          */
  2934.         $contrs $this->getDeposits();
  2935.         foreach ($contrs as $key => $contr) {
  2936.             $sum += $contr->getDisbursementUsd() ?? 0.0;
  2937.             //dump()
  2938.         }
  2939.         //dd();
  2940.         return $sum;
  2941.     }
  2942.     /**
  2943.      * @return float
  2944.      */
  2945.     public function getParentSoldCDF()
  2946.     {
  2947.         $sum $this->getNormalSoldCDF() - $this->getOwnerSoldCDF();
  2948.         return $sum;
  2949.     }
  2950.     /**
  2951.      * @return float
  2952.      */
  2953.     public function getParentSoldUSD()
  2954.     {
  2955.         $sum $this->getNormalSoldUSD() - $this->getOwnerSoldUSD();
  2956.         // dd($this->getDeposits());
  2957.         return $sum;
  2958.     }
  2959.     /**
  2960.          * @return Collection|\App\Entity\Docs\Finance\Payment\Membre\Operation[]
  2961.          
  2962.         public function getMemberOperations(): Collection
  2963.         {
  2964.             return $this->memberOperations;
  2965.         }
  2966.     
  2967.         public function addMemberOperation(\App\Entity\Docs\Finance\Payment\Membre\Operation $memberOperation): self
  2968.         {
  2969.             if (!$this->memberOperations->contains($memberOperation)) {
  2970.                 $this->memberOperations[] = $memberOperation;
  2971.                 $memberOperation->setMember($this);
  2972.             }
  2973.             return $this;
  2974.         }*/
  2975.     /**
  2976.      * @return Collection|AccountVerification[]
  2977.      */
  2978.     public function getAccountVerifications() : Collection
  2979.     {
  2980.         return $this->accountVerifications;
  2981.     }
  2982.     public function addAccountVerification(AccountVerification $accountVerification) : self
  2983.     {
  2984.         if (!$this->accountVerifications->contains($accountVerification)) {
  2985.             $this->accountVerifications[] = $accountVerification;
  2986.             $accountVerification->setConfirmedBy($this);
  2987.         }
  2988.         return $this;
  2989.     }
  2990.     public function removeMemberOperation(\App\Entity\Docs\Finance\Payment\Membre\Operation $memberOperation) : self
  2991.     {
  2992.         if ($this->memberOperations->removeElement($memberOperation)) {
  2993.             // set the owning side to null (unless already changed)
  2994.             if ($memberOperation->getMember() === $this) {
  2995.                 $memberOperation->setMember(null);
  2996.             }
  2997.         }
  2998.         return $this;
  2999.     }
  3000.     public function removeAccountVerification(AccountVerification $accountVerification) : self
  3001.     {
  3002.         if ($this->accountVerifications->removeElement($accountVerification)) {
  3003.             // set the owning side to null (unless already changed)
  3004.             if ($accountVerification->getConfirmedBy() === $this) {
  3005.                 $accountVerification->setConfirmedBy(null);
  3006.             }
  3007.         }
  3008.         return $this;
  3009.     }
  3010.     /**
  3011.      * @return Collection|Transfer[]
  3012.      */
  3013.     public function getTransfers() : Collection
  3014.     {
  3015.         return $this->transfers;
  3016.     }
  3017.     public function addTransfer(Transfer $transfer) : self
  3018.     {
  3019.         if (!$this->transfers->contains($transfer)) {
  3020.             $this->transfers[] = $transfer;
  3021.             $transfer->setAgentProcessed($this);
  3022.         }
  3023.         return $this;
  3024.     }
  3025.     public function removeTransfer(Transfer $transfer) : self
  3026.     {
  3027.         if ($this->transfers->removeElement($transfer)) {
  3028.             // set the owning side to null (unless already changed)
  3029.             if ($transfer->getAgentProcessed() === $this) {
  3030.                 $transfer->setAgentProcessed(null);
  3031.             }
  3032.         }
  3033.         return $this;
  3034.     }
  3035.     public function getIsAdminFinance() : ?bool
  3036.     {
  3037.         return $this->isAdminFinance;
  3038.     }
  3039.     public function setIsAdminFinance(?bool $isAdminFinance) : self
  3040.     {
  3041.         $this->isAdminFinance $isAdminFinance;
  3042.         return $this;
  3043.     }
  3044.     /**
  3045.      * @return Collection<int, \App\Entity\Docs\Finance\V2\Budget\BudgetLine>
  3046.      */
  3047.     public function getBudgetLinesV2(): Collection
  3048.     {
  3049.         return $this->budgetLinesV2;
  3050.     }
  3051.     public function addBudgetLinesV2(\App\Entity\Docs\Finance\V2\Budget\BudgetLine $budgetLinesV2): self
  3052.     {
  3053.         if (!$this->budgetLinesV2->contains($budgetLinesV2)) {
  3054.             $this->budgetLinesV2[] = $budgetLinesV2;
  3055.             $budgetLinesV2->setManager($this);
  3056.         }
  3057.         return $this;
  3058.     }
  3059.     public function removeBudgetLinesV2(\App\Entity\Docs\Finance\V2\Budget\BudgetLine $budgetLinesV2): self
  3060.     {
  3061.         if ($this->budgetLinesV2->removeElement($budgetLinesV2)) {
  3062.             // set the owning side to null (unless already changed)
  3063.             if ($budgetLinesV2->getManager() === $this) {
  3064.                 $budgetLinesV2->setManager(null);
  3065.             }
  3066.         }
  3067.         return $this;
  3068.     }
  3069.     /**
  3070.      * @return Collection<int, BudgetSection>
  3071.      */
  3072.     public function getBudgetSections(): Collection
  3073.     {
  3074.         return $this->budgetSections;
  3075.     }
  3076.     public function addBudgetSection(BudgetSection $budgetSection): self
  3077.     {
  3078.         if (!$this->budgetSections->contains($budgetSection)) {
  3079.             $this->budgetSections[] = $budgetSection;
  3080.             $budgetSection->setManager($this);
  3081.         }
  3082.         return $this;
  3083.     }
  3084.     public function removeBudgetSection(BudgetSection $budgetSection): self
  3085.     {
  3086.         if ($this->budgetSections->removeElement($budgetSection)) {
  3087.             // set the owning side to null (unless already changed)
  3088.             if ($budgetSection->getManager() === $this) {
  3089.                 $budgetSection->setManager(null);
  3090.             }
  3091.         }
  3092.         return $this;
  3093.     }
  3094.     public function getAuthCode(): ?string
  3095.     {
  3096.         return $this->authCode;
  3097.     }
  3098.     public function setAuthCode(?string $authCode): self
  3099.     {
  3100.         $this->authCode $authCode;
  3101.         return $this;
  3102.     }
  3103.     public function getAuthIAt(): ?int
  3104.     {
  3105.         return $this->authIAt;
  3106.     }
  3107.     public function setAuthIAt(int $authIAt): self
  3108.     {
  3109.         $this->authIAt $authIAt;
  3110.         return $this;
  3111.     }
  3112.     /**
  3113.      * @return Collection<int, \App\Entity\Docs\Finance\V2\Budget\Budget>
  3114.      */
  3115.     public function getBudgetProcessor(): Collection
  3116.     {
  3117.         return $this->budgetProcessor;
  3118.     }
  3119.     public function addBudgetProcessor(\App\Entity\Docs\Finance\V2\Budget\Budget $budgetProcessor): self
  3120.     {
  3121.         if (!$this->budgetProcessor->contains($budgetProcessor)) {
  3122.             $this->budgetProcessor[] = $budgetProcessor;
  3123.             $budgetProcessor->setAgentProcessor($this);
  3124.         }
  3125.         return $this;
  3126.     }
  3127.     public function removeBudgetProcessor(\App\Entity\Docs\Finance\V2\Budget\Budget $budgetProcessor): self
  3128.     {
  3129.         if ($this->budgetProcessor->removeElement($budgetProcessor)) {
  3130.             // set the owning side to null (unless already changed)
  3131.             if ($budgetProcessor->getAgentProcessor() === $this) {
  3132.                 $budgetProcessor->setAgentProcessor(null);
  3133.             }
  3134.         }
  3135.         return $this;
  3136.     }
  3137.     /**
  3138.      * @return Collection<int, BudgetSection>
  3139.      */
  3140.     public function getBudgetSectionsCreated(): Collection
  3141.     {
  3142.         return $this->budgetSectionsCreated;
  3143.     }
  3144.     public function addBudgetSectionsCreated(BudgetSection $budgetSectionsCreated): self
  3145.     {
  3146.         if (!$this->budgetSectionsCreated->contains($budgetSectionsCreated)) {
  3147.             $this->budgetSectionsCreated[] = $budgetSectionsCreated;
  3148.             $budgetSectionsCreated->setAgentProccessor($this);
  3149.         }
  3150.         return $this;
  3151.     }
  3152.     public function removeBudgetSectionsCreated(BudgetSection $budgetSectionsCreated): self
  3153.     {
  3154.         if ($this->budgetSectionsCreated->removeElement($budgetSectionsCreated)) {
  3155.             // set the owning side to null (unless already changed)
  3156.             if ($budgetSectionsCreated->getAgentProccessor() === $this) {
  3157.                 $budgetSectionsCreated->setAgentProccessor(null);
  3158.             }
  3159.         }
  3160.         return $this;
  3161.     }
  3162.     /**
  3163.      * @return Collection<int, \App\Entity\Docs\Finance\V2\Budget\BudgetLine>
  3164.      */
  3165.     public function getBudgetLinesCreated(): Collection
  3166.     {
  3167.         return $this->budgetLinesCreated;
  3168.     }
  3169.     public function addBudgetLinesCreated(\App\Entity\Docs\Finance\V2\Budget\BudgetLine $budgetLinesCreated): self
  3170.     {
  3171.         if (!$this->budgetLinesCreated->contains($budgetLinesCreated)) {
  3172.             $this->budgetLinesCreated[] = $budgetLinesCreated;
  3173.             $budgetLinesCreated->setAgentProcessing($this);
  3174.         }
  3175.         return $this;
  3176.     }
  3177.     public function removeBudgetLinesCreated(\App\Entity\Docs\Finance\V2\Budget\BudgetLine $budgetLinesCreated): self
  3178.     {
  3179.         if ($this->budgetLinesCreated->removeElement($budgetLinesCreated)) {
  3180.             // set the owning side to null (unless already changed)
  3181.             if ($budgetLinesCreated->getAgentProcessing() === $this) {
  3182.                 $budgetLinesCreated->setAgentProcessing(null);
  3183.             }
  3184.         }
  3185.         return $this;
  3186.     }
  3187.     /**
  3188.      * @return Collection<int, OADAAccount>
  3189.      */
  3190.     public function getOADAAccounts(): Collection
  3191.     {
  3192.         return $this->oADAAccounts;
  3193.     }
  3194.     public function addOADAAccount(OADAAccount $oADAAccount): self
  3195.     {
  3196.         if (!$this->oADAAccounts->contains($oADAAccount)) {
  3197.             $this->oADAAccounts[] = $oADAAccount;
  3198.             $oADAAccount->setAgentProcessor($this);
  3199.         }
  3200.         return $this;
  3201.     }
  3202.     /*  
  3203.      * @return Collection<int, MaterialAsset>
  3204.      */
  3205.     public function getMaterialAssets(): Collection
  3206.     {
  3207.         return $this->materialAssets;
  3208.     }
  3209.     public function addMaterialAsset(MaterialAsset $materialAsset): self
  3210.     {
  3211.         if (!$this->materialAssets->contains($materialAsset)) {
  3212.             $this->materialAssets[] = $materialAsset;
  3213.             $materialAsset->setAgentProcessor($this);
  3214.         }
  3215.         return $this;
  3216.     }
  3217.     public function removeOADAAccount(OADAAccount $oADAAccount): self
  3218.     {
  3219.         if ($this->oADAAccounts->removeElement($oADAAccount)) {
  3220.             // set the owning side to null (unless already changed)
  3221.             if ($oADAAccount->getAgentProcessor() === $this) {
  3222.                 $oADAAccount->setAgentProcessor(null);
  3223.             }
  3224.         }
  3225.         return $this;
  3226.     }
  3227.     public function removeMaterialAsset(MaterialAsset $materialAsset): self
  3228.     {
  3229.         if ($this->materialAssets->removeElement($materialAsset)) {
  3230.             // set the owning side to null (unless already changed)
  3231.             if ($materialAsset->getAgentProcessor() === $this) {
  3232.                 $materialAsset->setAgentProcessor(null);
  3233.             }
  3234.         }
  3235.         return $this;
  3236.     }
  3237.     /**
  3238.      * @return Collection<int, FiscalYear>
  3239.      */
  3240.     public function getFiscalYears(): Collection
  3241.     {
  3242.         return $this->fiscalYears;
  3243.     }
  3244.     public function addFiscalYear(FiscalYear $fiscalYear): self
  3245.     {
  3246.         if (!$this->fiscalYears->contains($fiscalYear)) {
  3247.             $this->fiscalYears[] = $fiscalYear;
  3248.             $fiscalYear->setAgentProcessor($this);
  3249.         }
  3250.         return $this;
  3251.     }
  3252.     /**
  3253.      * @return Collection<int, UseOfAsset>
  3254.      */
  3255.     public function getUseOfAssets(): Collection
  3256.     {
  3257.         return $this->useOfAssets;
  3258.     }
  3259.     public function addUseOfAsset(UseOfAsset $useOfAsset): self
  3260.     {
  3261.         if (!$this->useOfAssets->contains($useOfAsset)) {
  3262.             $this->useOfAssets[] = $useOfAsset;
  3263.             $useOfAsset->setUser($this);
  3264.         }
  3265.         return $this;
  3266.     }
  3267.     public function removeFiscalYear(FiscalYear $fiscalYear): self
  3268.     {
  3269.         if ($this->fiscalYears->removeElement($fiscalYear)) {
  3270.             // set the owning side to null (unless already changed)
  3271.             if ($fiscalYear->getAgentProcessor() === $this) {
  3272.                 $fiscalYear->setAgentProcessor(null);
  3273.             }
  3274.         }
  3275.         return $this;
  3276.     }
  3277.     public function removeUseOfAsset(UseOfAsset $useOfAsset): self
  3278.     {
  3279.         if ($this->useOfAssets->removeElement($useOfAsset)) {
  3280.             // set the owning side to null (unless already changed)
  3281.             if ($useOfAsset->getUser() === $this) {
  3282.                 $useOfAsset->setUser(null);
  3283.             }
  3284.         }
  3285.         return $this;
  3286.     }
  3287.     /**
  3288.      * @return Collection<int, Transaction>
  3289.      */
  3290.     public function getTransactionsCheckout(): Collection
  3291.     {
  3292.         return $this->transactionsCheckout;
  3293.     }
  3294.     public function addTransactionsCheckout(Transaction $transactionsCheckout): self
  3295.     {
  3296.         if (!$this->transactionsCheckout->contains($transactionsCheckout)) {
  3297.             $this->transactionsCheckout[] = $transactionsCheckout;
  3298.             $transactionsCheckout->setAgentProcessor($this);
  3299.         }
  3300.         return $this;
  3301.     }
  3302.     /**
  3303.      * @return Collection<int, TypeMaterialAsset>
  3304.      */
  3305.     public function getTypeMaterialAssets(): Collection
  3306.     {
  3307.         return $this->typeMaterialAssets;
  3308.     }
  3309.     public function addTypeMaterialAsset(TypeMaterialAsset $typeMaterialAsset): self
  3310.     {
  3311.         if (!$this->typeMaterialAssets->contains($typeMaterialAsset)) {
  3312.             $this->typeMaterialAssets[] = $typeMaterialAsset;
  3313.             $typeMaterialAsset->setAgentProcessor($this);
  3314.         }
  3315.         return $this;
  3316.     }
  3317.     public function removeTransactionsCheckout(Transaction $transactionsCheckout): self
  3318.     {
  3319.         if ($this->transactionsCheckout->removeElement($transactionsCheckout)) {
  3320.             // set the owning side to null (unless already changed)
  3321.             if ($transactionsCheckout->getAgentProcessor() === $this) {
  3322.                 $transactionsCheckout->setAgentProcessor(null);
  3323.             }
  3324.         }
  3325.         return $this;
  3326.     }
  3327.     public function removeTypeMaterialAsset(TypeMaterialAsset $typeMaterialAsset): self
  3328.     {
  3329.         if ($this->typeMaterialAssets->removeElement($typeMaterialAsset)) {
  3330.             // set the owning side to null (unless already changed)
  3331.             if ($typeMaterialAsset->getAgentProcessor() === $this) {
  3332.                 $typeMaterialAsset->setAgentProcessor(null);
  3333.             }
  3334.         }
  3335.         return $this;
  3336.     }
  3337.     /**
  3338.      * @return Collection<int, CompanyAccount>
  3339.      */
  3340.     public function getCompanyAccountsInitialize(): Collection
  3341.     {
  3342.         return $this->companyAccountsInitialize;
  3343.     }
  3344.     public function addCompanyAccountsInitialize(CompanyAccount $companyAccountsInitialize): self
  3345.     {
  3346.         if (!$this->companyAccountsInitialize->contains($companyAccountsInitialize)) {
  3347.             $this->companyAccountsInitialize[] = $companyAccountsInitialize;
  3348.             $companyAccountsInitialize->setAgentProcessor($this);
  3349.         }
  3350.         return $this;
  3351.     }
  3352.     /**
  3353.      * @return Collection<int, UseOfAsset>
  3354.      */
  3355.     public function getUseOfAssetsClosed(): Collection
  3356.     {
  3357.         return $this->useOfAssetsClosed;
  3358.     }
  3359.     public function addUseOfAssetsClosed(UseOfAsset $useOfAssetsClosed): self
  3360.     {
  3361.         if (!$this->useOfAssetsClosed->contains($useOfAssetsClosed)) {
  3362.             $this->useOfAssetsClosed[] = $useOfAssetsClosed;
  3363.             $useOfAssetsClosed->setAgentClose($this);
  3364.         }
  3365.         return $this;
  3366.     }
  3367.     public function removeCompanyAccountsInitialize(CompanyAccount $companyAccountsInitialize): self
  3368.     {
  3369.         if ($this->companyAccountsInitialize->removeElement($companyAccountsInitialize)) {
  3370.             // set the owning side to null (unless already changed)
  3371.             if ($companyAccountsInitialize->getAgentProcessor() === $this) {
  3372.                 $companyAccountsInitialize->setAgentProcessor(null);
  3373.             }
  3374.             return $this;
  3375.         }
  3376.     }
  3377.     public function removeUseOfAssetsClosed(UseOfAsset $useOfAssetsClosed): self
  3378.     {
  3379.         if ($this->useOfAssetsClosed->removeElement($useOfAssetsClosed)) {
  3380.             // set the owning side to null (unless already changed)
  3381.             if ($useOfAssetsClosed->getAgentClose() === $this) {
  3382.                 $useOfAssetsClosed->setAgentClose(null);
  3383.             }
  3384.         }
  3385.         return $this;
  3386.     }
  3387.     /**
  3388.      * @return Collection<int, Transaction>
  3389.      */
  3390.     public function getTransactionsValidate(): Collection
  3391.     {
  3392.         return $this->transactionsValidate;
  3393.     }
  3394.     public function addTransactionsValidate(Transaction $transactionsValidate): self
  3395.     {
  3396.         if (!$this->transactionsValidate->contains($transactionsValidate)) {
  3397.             $this->transactionsValidate[] = $transactionsValidate;
  3398.             $transactionsValidate->setAgentValidator($this);
  3399.         }
  3400.         return $this;
  3401.     }
  3402.     /**
  3403.      * @return Collection<int, UseOfAsset>
  3404.      */
  3405.     public function getUseOfAssetsValidateReceipt(): Collection
  3406.     {
  3407.         return $this->useOfAssetsValidateReceipt;
  3408.     }
  3409.     public function addUseOfAssetsValidateReceipt(UseOfAsset $useOfAssetsValidateReceipt): self
  3410.     {
  3411.         if (!$this->useOfAssetsValidateReceipt->contains($useOfAssetsValidateReceipt)) {
  3412.             $this->useOfAssetsValidateReceipt[] = $useOfAssetsValidateReceipt;
  3413.             $useOfAssetsValidateReceipt->setReceiptValidationUser($this);
  3414.         }
  3415.         return $this;
  3416.     }
  3417.     public function removeTransactionsValidate(Transaction $transactionsValidate): self
  3418.     {
  3419.         if ($this->transactionsValidate->removeElement($transactionsValidate)) {
  3420.             // set the owning side to null (unless already changed)
  3421.             if ($transactionsValidate->getAgentValidator() === $this) {
  3422.                 $transactionsValidate->setAgentValidator(null);
  3423.             }
  3424.         }
  3425.         return $this;
  3426.     }
  3427.     public function removeUseOfAssetsValidateReceipt(UseOfAsset $useOfAssetsValidateReceipt): self
  3428.     {
  3429.         if ($this->useOfAssetsValidateReceipt->removeElement($useOfAssetsValidateReceipt)) {
  3430.             // set the owning side to null (unless already changed)
  3431.             if ($useOfAssetsValidateReceipt->getReceiptValidationUser() === $this) {
  3432.                 $useOfAssetsValidateReceipt->setReceiptValidationUser(null);
  3433.             }
  3434.         }
  3435.         return $this;
  3436.     }
  3437.     /**
  3438.      * @return Collection<int, UseOfAsset>
  3439.      */
  3440.     public function getUseOfAssetDiscountValidate(): Collection
  3441.     {
  3442.         return $this->useOfAssetDiscountValidate;
  3443.     }
  3444.     public function addUseOfAssetDiscountValidate(UseOfAsset $useOfAssetDiscountValidate): self
  3445.     {
  3446.         if (!$this->useOfAssetDiscountValidate->contains($useOfAssetDiscountValidate)) {
  3447.             $this->useOfAssetDiscountValidate[] = $useOfAssetDiscountValidate;
  3448.             $useOfAssetDiscountValidate->setDiscountValidationUser($this);
  3449.         }
  3450.         return $this;
  3451.     }
  3452.     public function removeUseOfAssetDiscountValidate(UseOfAsset $useOfAssetDiscountValidate): self
  3453.     {
  3454.         if ($this->useOfAssetDiscountValidate->removeElement($useOfAssetDiscountValidate)) {
  3455.             // set the owning side to null (unless already changed)
  3456.             if ($useOfAssetDiscountValidate->getDiscountValidationUser() === $this) {
  3457.                 $useOfAssetDiscountValidate->setDiscountValidationUser(null);
  3458.             }
  3459.         }
  3460.         return $this;
  3461.     }
  3462.     /**
  3463.      * @return Collection<int, \App\Entity\Accounting\OADA\AccountJournal>
  3464.      */
  3465.     public function getAccountJournalsCashier(): Collection
  3466.     {
  3467.         return $this->accountJournalsCashier;
  3468.     }
  3469.     public function addAccountJournalsCashier(\App\Entity\Accounting\OADA\AccountJournal $accountJournalsCashier): self
  3470.     {
  3471.         if (!$this->accountJournalsCashier->contains($accountJournalsCashier)) {
  3472.             $this->accountJournalsCashier[] = $accountJournalsCashier;
  3473.             $accountJournalsCashier->setCashier($this);
  3474.         }
  3475.         return $this;
  3476.     }
  3477.     public function removeAccountJournalsCashier(\App\Entity\Accounting\OADA\AccountJournal $accountJournalsCashier): self
  3478.     {
  3479.         if ($this->accountJournalsCashier->removeElement($accountJournalsCashier)) {
  3480.             // set the owning side to null (unless already changed)
  3481.             if ($accountJournalsCashier->getCashier() === $this) {
  3482.                 $accountJournalsCashier->setCashier(null);
  3483.             }
  3484.         }
  3485.         return $this;
  3486.     }
  3487.     /**
  3488.      * @return Collection<int, Draft>
  3489.      */
  3490.     public function getDrafts(): Collection
  3491.     {
  3492.         return $this->drafts;
  3493.     }
  3494.     public function addDraft(Draft $draft): self
  3495.     {
  3496.         if (!$this->drafts->contains($draft)) {
  3497.             $this->drafts[] = $draft;
  3498.             $draft->setUser($this);
  3499.         }
  3500.         return $this;
  3501.     }
  3502.     public function removeDraft(Draft $draft): self
  3503.     {
  3504.         if ($this->drafts->removeElement($draft)) {
  3505.             // set the owning side to null (unless already changed)
  3506.             if ($draft->getUser() === $this) {
  3507.                 $draft->setUser(null);
  3508.             }
  3509.         }
  3510.         return $this;
  3511.     }
  3512.     /**
  3513.      * @return Collection<int, \App\Entity\Accounting\OADA\AccountJournal>
  3514.      */
  3515.     public function getAccountJournalsAccountant(): Collection
  3516.     {
  3517.         return $this->accountJournalsAccountant;
  3518.     }
  3519.     public function addAccountJournalsAccountant(\App\Entity\Accounting\OADA\AccountJournal $accountJournalsAccountant): self
  3520.     {
  3521.         if (!$this->accountJournalsAccountant->contains($accountJournalsAccountant)) {
  3522.             $this->accountJournalsAccountant[] = $accountJournalsAccountant;
  3523.             $accountJournalsAccountant->setAccountant($this);
  3524.         }
  3525.         return $this;
  3526.     }
  3527.     public function removeAccountJournalsAccountant(\App\Entity\Accounting\OADA\AccountJournal $accountJournalsAccountant): self
  3528.     {
  3529.         if ($this->accountJournalsAccountant->removeElement($accountJournalsAccountant)) {
  3530.             // set the owning side to null (unless already changed)
  3531.             if ($accountJournalsAccountant->getAccountant() === $this) {
  3532.                 $accountJournalsAccountant->setAccountant(null);
  3533.             }
  3534.         }
  3535.         return $this;
  3536.     }
  3537.     /**
  3538.      * @return Collection<int, ParamsApp>
  3539.      */
  3540.     public function getParamsApps(): Collection
  3541.     {
  3542.         return $this->paramsApps;
  3543.     }
  3544.     public function addParamsApp(ParamsApp $paramsApp): self
  3545.     {
  3546.         if (!$this->paramsApps->contains($paramsApp)) {
  3547.             $this->paramsApps[] = $paramsApp;
  3548.             $paramsApp->setUserProcessor($this);
  3549.         }
  3550.         return $this;
  3551.     }
  3552.     public function removeParamsApp(ParamsApp $paramsApp): self
  3553.     {
  3554.         if ($this->paramsApps->removeElement($paramsApp)) {
  3555.             // set the owning side to null (unless already changed)
  3556.             if ($paramsApp->getUserProcessor() === $this) {
  3557.                 $paramsApp->setUserProcessor(null);
  3558.             }
  3559.         }
  3560.         return $this;
  3561.     }
  3562.     /**
  3563.      * @return Collection<int, ChangeRate>
  3564.      */
  3565.     public function getChangeRates(): Collection
  3566.     {
  3567.         return $this->changeRates;
  3568.     }
  3569.     public function addChangeRate(ChangeRate $changeRate): self
  3570.     {
  3571.         if (!$this->changeRates->contains($changeRate)) {
  3572.             $this->changeRates[] = $changeRate;
  3573.             $changeRate->setUserProcessor($this);
  3574.         }
  3575.         return $this;
  3576.     }
  3577.     public function removeChangeRate(ChangeRate $changeRate): self
  3578.     {
  3579.         if ($this->changeRates->removeElement($changeRate)) {
  3580.             // set the owning side to null (unless already changed)
  3581.             if ($changeRate->getUserProcessor() === $this) {
  3582.                 $changeRate->setUserProcessor(null);
  3583.             }
  3584.         }
  3585.         return $this;
  3586.     }
  3587.     /**
  3588.      * @return Collection<int, Justification>
  3589.      */
  3590.     public function getJustifications(): Collection
  3591.     {
  3592.         return $this->justifications;
  3593.     }
  3594.     public function addJustification(Justification $justification): self
  3595.     {
  3596.         if (!$this->justifications->contains($justification)) {
  3597.             $this->justifications[] = $justification;
  3598.             $justification->setAgentProcessed($this);
  3599.         }
  3600.         return $this;
  3601.     }
  3602.     public function removeJustification(Justification $justification): self
  3603.     {
  3604.         if ($this->justifications->removeElement($justification)) {
  3605.             // set the owning side to null (unless already changed)
  3606.             if ($justification->getAgentProcessed() === $this) {
  3607.                 $justification->setAgentProcessed(null);
  3608.             }
  3609.         }
  3610.         return $this;
  3611.     }
  3612.     /**
  3613.      * @return Collection<int, CashReturn>
  3614.      */
  3615.     public function getCashReturns(): Collection
  3616.     {
  3617.         return $this->cashReturns;
  3618.     }
  3619.     public function addCashReturn(CashReturn $cashReturn): self
  3620.     {
  3621.         if (!$this->cashReturns->contains($cashReturn)) {
  3622.             $this->cashReturns[] = $cashReturn;
  3623.             $cashReturn->setAgentProcessed($this);
  3624.         }
  3625.         return $this;
  3626.     }
  3627.     public function removeCashReturn(CashReturn $cashReturn): self
  3628.     {
  3629.         if ($this->cashReturns->removeElement($cashReturn)) {
  3630.             // set the owning side to null (unless already changed)
  3631.             if ($cashReturn->getAgentProcessed() === $this) {
  3632.                 $cashReturn->setAgentProcessed(null);
  3633.             }
  3634.         }
  3635.         return $this;
  3636.     }
  3637.     /**
  3638.      * @return Collection<int, Transaction>
  3639.      */
  3640.     public function getTransactionDirValidate(): Collection
  3641.     {
  3642.         return $this->transactionDirValidate;
  3643.     }
  3644.     public function addTransactionDirValidate(Transaction $transactionDirValidate): self
  3645.     {
  3646.         if (!$this->transactionDirValidate->contains($transactionDirValidate)) {
  3647.             $this->transactionDirValidate[] = $transactionDirValidate;
  3648.             $transactionDirValidate->setDirValidator($this);
  3649.         }
  3650.         return $this;
  3651.     }
  3652.     public function removeTransactionDirValidate(Transaction $transactionDirValidate): self
  3653.     {
  3654.         if ($this->transactionDirValidate->removeElement($transactionDirValidate)) {
  3655.             // set the owning side to null (unless already changed)
  3656.             if ($transactionDirValidate->getDirValidator() === $this) {
  3657.                 $transactionDirValidate->setDirValidator(null);
  3658.             }
  3659.         }
  3660.         return $this;
  3661.     }
  3662.     /**
  3663.      * @return Collection<int, Justification>
  3664.      */
  3665.     public function getJustificationsValidate(): Collection
  3666.     {
  3667.         return $this->justificationsValidate;
  3668.     }
  3669.     public function addJustificationsValidate(Justification $justificationsValidate): self
  3670.     {
  3671.         if (!$this->justificationsValidate->contains($justificationsValidate)) {
  3672.             $this->justificationsValidate[] = $justificationsValidate;
  3673.             $justificationsValidate->setValidateAgent($this);
  3674.         }
  3675.         return $this;
  3676.     }
  3677.     public function removeJustificationsValidate(Justification $justificationsValidate): self
  3678.     {
  3679.         if ($this->justificationsValidate->removeElement($justificationsValidate)) {
  3680.             // set the owning side to null (unless already changed)
  3681.             if ($justificationsValidate->getValidateAgent() === $this) {
  3682.                 $justificationsValidate->setValidateAgent(null);
  3683.             }
  3684.         }
  3685.         return $this;
  3686.     }
  3687.     /**
  3688.      * @return Collection<int, CashReturn>
  3689.      */
  3690.     public function getCashReturnsSign(): Collection
  3691.     {
  3692.         return $this->cashReturnsSign;
  3693.     }
  3694.     public function addCashReturnsSign(CashReturn $cashReturnsSign): self
  3695.     {
  3696.         if (!$this->cashReturnsSign->contains($cashReturnsSign)) {
  3697.             $this->cashReturnsSign[] = $cashReturnsSign;
  3698.             $cashReturnsSign->setAgentSign($this);
  3699.         }
  3700.         return $this;
  3701.     }
  3702.     public function removeCashReturnsSign(CashReturn $cashReturnsSign): self
  3703.     {
  3704.         if ($this->cashReturnsSign->removeElement($cashReturnsSign)) {
  3705.             // set the owning side to null (unless already changed)
  3706.             if ($cashReturnsSign->getAgentSign() === $this) {
  3707.                 $cashReturnsSign->setAgentSign(null);
  3708.             }
  3709.         }
  3710.         return $this;
  3711.     }
  3712.     /**
  3713.      * @return Collection<int, OperationAccount>
  3714.      */
  3715.     public function getOptAccountsDeleted(): Collection
  3716.     {
  3717.         return $this->optAccountsDeleted;
  3718.     }
  3719.     public function addOptAccountsDeleted(OperationAccount $optAccountsDeleted): self
  3720.     {
  3721.         if (!$this->optAccountsDeleted->contains($optAccountsDeleted)) {
  3722.             $this->optAccountsDeleted[] = $optAccountsDeleted;
  3723.             $optAccountsDeleted->setDeletedBy($this);
  3724.         }
  3725.         return $this;
  3726.     }
  3727.     public function removeOptAccountsDeleted(OperationAccount $optAccountsDeleted): self
  3728.     {
  3729.         if ($this->optAccountsDeleted->removeElement($optAccountsDeleted)) {
  3730.             // set the owning side to null (unless already changed)
  3731.             if ($optAccountsDeleted->getDeletedBy() === $this) {
  3732.                 $optAccountsDeleted->setDeletedBy(null);
  3733.             }
  3734.         }
  3735.         return $this;
  3736.     }
  3737.     /**
  3738.      * @return Collection<int, Requisition>
  3739.      */
  3740.     public function getOptSignReqs(): Collection
  3741.     {
  3742.         return $this->optSignReqs;
  3743.     }
  3744.     public function addOptSignReq(Requisition $optSignReq): self
  3745.     {
  3746.         if (!$this->optSignReqs->contains($optSignReq)) {
  3747.             $this->optSignReqs[] = $optSignReq;
  3748.             $optSignReq->setOptDeal($this);
  3749.         }
  3750.         return $this;
  3751.     }
  3752.     public function removeOptSignReq(Requisition $optSignReq): self
  3753.     {
  3754.         if ($this->optSignReqs->removeElement($optSignReq)) {
  3755.             // set the owning side to null (unless already changed)
  3756.             if ($optSignReq->getOptDeal() === $this) {
  3757.                 $optSignReq->setOptDeal(null);
  3758.             }
  3759.         }
  3760.         return $this;
  3761.     }
  3762. }