Your IP : 3.15.182.126


Current Path : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/sender/lib/dispatch/
Upload File :
Current File : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/sender/lib/dispatch/methodtime.php

<?php
/**
 * Bitrix Framework
 * @package bitrix
 * @subpackage sender
 * @copyright 2001-2012 Bitrix
 */
namespace Bitrix\Sender\Dispatch;

use Bitrix\Main\Localization\Loc;

use Bitrix\Main\Type\DateTime;
use Bitrix\Sender\Entity;

Loc::loadMessages(__FILE__);

class MethodTime implements iMethod
{
	/** @var DateTime $dateTime Date. */
	protected $dateTime;

	/** @var Entity\Letter $letter Letter. */
	private $letter;

	/**
	 * Constructor.
	 *
	 * @param Entity\Letter $letter Letter.
	 */
	public function __construct(Entity\Letter $letter)
	{
		$this->letter = $letter;
	}

	/**
	 * Apply method.
	 *
	 * @param DateTime $dateTime Date.
	 */
	public function setDateTime(DateTime $dateTime)
	{
		$this->dateTime = $dateTime;
	}

	/**
	 * Apply method.
	 *
	 * @return DateTime
	 */
	public function getDateTime()
	{
		return $this->dateTime;
	}

	/**
	 * Apply method.
	 *
	 * @return void
	 */
	public function apply()
	{
		$this->letter->plan($this->dateTime);
	}

	/**
	 * Revoke method.
	 *
	 * @return void
	 */
	public function revoke()
	{
		if (!$this->letter->getState()->isReady())
		{
			$this->letter->getState()->ready();
		}
	}

	/**
	 * Get code.
	 *
	 * @return string
	 */
	public function getCode()
	{
		return Method::TIME;
	}
}