1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 
<?php
/* --------------------------------------------------------------
   WithdrawalInterface.inc.php 2017-10-16
   Gambio GmbH
   http://www.gambio.de
   Copyright (c) 2017 Gambio GmbH
   Released under the GNU General Public License (Version 2)
   [http://www.gnu.org/licenses/gpl-2.0.html]
   --------------------------------------------------------------
*/

/**
 * Interface WithdrawalInterface
 *
 * @category   System
 * @package    Withdrawal
 * @subpackage Entities
 */
interface WithdrawalInterface
{
    /**
     * Saves withdrawal in database.
     *
     * @return $this|\WithdrawalInterface Same instance for chained method calls.
     */
    public function store();
    
    
    /**
     * Deletes withdrawal from database.
     *
     * @return $this|\WithdrawalInterface Same instance for chained method calls.
     */
    public function delete();
    
    
    /**
     * Returns the withdrawal id.
     *
     * @return int Withdrawal id.
     */
    public function getWithdrawalId();
    
    
    /**
     * Sets the withdrawal id.
     *
     * @param \IdType $withdrawalId The withdrawal id to be set.
     *
     * @return $this|\WithdrawalInterface Same instance for chained method calls.
     */
    public function setWithdrawalId(IdType $withdrawalId);
    
    
    /**
     * Returns the withdrawal datetime.
     *
     * @return \DateTime
     */
    public function getWithdrawalDate();
    
    
    /**
     * sets the datetime.
     *
     * @param \DateTime $withdrawalDate Date to be set.
     *
     * @return $this|\WithdrawalInterface Same instance for chained method calls.
     */
    public function setWithdrawalDate(\DateTime $withdrawalDate);
    
    
    /**
     * Returns the content.
     *
     * @return string
     */
    public function getWithdrawalContent();
    
    
    /**
     * Sets the withdrawal content.
     *
     * @param \StringType $withdrawalContent Withdrawal content to be set.
     *
     * @return $this|\WithdrawalInterface Same instance for chained method calls.
     */
    public function setWithdrawalContent(StringType $withdrawalContent);
    
    
    /**
     * Returns the withdrawal created datetime.
     *
     * @return \DateTime
     */
    public function getDateCreated();
    
    
    /**
     * Sets the withdrawal created datetime.
     *
     * @param \DateTime $dateCreated Created date to be set.
     *
     * @return $this|\WithdrawalInterface Same instance for chained method calls.
     */
    public function setDateCreated(\DateTime $dateCreated);
    
    
    /**
     * Checks if withdrawal by admin created or not.
     *
     * @return bool
     */
    public function getCreatedByAdmin();
    
    
    /**
     * Sets whether the withdrawal by admin created or not.
     *
     * @param \BoolType $createdByAdmin
     *
     * @return $this|\WithdrawalInterface Same instance for chained method calls.
     */
    public function setCreatedByAdmin(BoolType $createdByAdmin);
    
    
    /**
     * Returns the withdrawal Order.
     *
     * @return \WithdrawalOrderInterface
     */
    public function getWithdrawalOrder();
    
    
    /**
     * Sets the withdrawal order.
     *
     * @param \WithdrawalOrderInterface $withdrawalOrder
     *
     * @return $this|\WithdrawalInterface Same instance for chained method calls.
     */
    public function setWithdrawalOrder(WithdrawalOrderInterface $withdrawalOrder);
}