diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 8fe6dd8..3dc19b1 100644 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -19,6 +19,8 @@ use Modules\Exchange\Models\InterfaceManagerMapper; use phpOMS\Message\NotificationLevel; use phpOMS\Message\RequestAbstract; use phpOMS\Message\ResponseAbstract; +use Modules\Media\Models\UploadFile; +use phpOMS\System\File\Local\Directory; /** * Exchange controller class. @@ -83,6 +85,8 @@ final class ApiController extends Controller } } + Directory::delete(__DIR__ . '/../tmp/'); + return false; } @@ -117,5 +121,12 @@ final class ApiController extends Controller * @since 1.0.0 */ public function apiExchangeUpload(RequestAbstract $request, ResponseAbstract $response, $data = null): void - { } + { + Directory::delete(__DIR__ . '/../tmp/'); + + $upload = new UploadFile(); + $upload->setOutputDir(__DIR__ . '/../tmp/'); + + $upload->upload($request->getFiles()); + } } diff --git a/Controller/BackendController.php b/Controller/BackendController.php index 84b26b5..7373ff6 100644 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -32,6 +32,18 @@ use phpOMS\Views\View; final class BackendController extends Controller { + /** + * Routing end-point for application behaviour. + * + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return void + * + * @since 1.0.0 + * @codeCoverageIgnore + */ public function viewExchangeDashboard(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface { $view = new View($this->app, $request, $response); diff --git a/Interfaces/OMS/Importer.php b/Interfaces/OMS/Importer.php index cd1a39a..b47f56a 100644 --- a/Interfaces/OMS/Importer.php +++ b/Interfaces/OMS/Importer.php @@ -1,5 +1,4 @@ getData('end') ?? 'now'); $type = (int) ($request->getData('type') ?? 0); + $source = (int) ($request->getData('source') ?? 0); if ($type === ExchangeType::CUSTOMER) { $this->importCustomer($start, $end); @@ -151,7 +152,38 @@ final class Importer extends ImporterAbstract */ public function importCustomer(\DateTime $start, \DateTime $end): void { + $euTIN = CustomerIdTypeMapper::getByType(CustomerIdType::EU_TIN); + $gerTIN = CustomerIdTypeMapper::getByType(CustomerIdType::GER_TIN); + while (($line = \fgetcsv($this->remote)) !== false) { + $customer = new Client(); + + $customer->setNumber($line[0]); + $customer->getProfile()->getAccount()->setName1($line[1]); + $customer->getProfile()->getAccount()->setName2($line[2]); + $customer->getProfile()->getAccount()->setName3($line[3]); + //$customer->addEmail(EmailType::BUSINESS, $line[4]); + //$customer->addPhone(PhoneType::BUSINESS, $line[5]); + //$customer->addWebsite(PhoneType::BUSINESS, $line[5]); + + $address = new Address(); + $customer->setDefaultDeliveryAddress($address); + $customer->setDefaultInvoiceAddress($address); + + $customer->setDefaultPaymentTerms(new PaymentTerms()); + $customer->setCreditLimit($line[12]); + $customer->setStatus($line[9]); + $customer->setInfo($line[9]); + $customer->setAdvertisementMaterial($line[13]); + $customer->setSalesRep(); + $customer->setType(); + $customer->addPartner(); + + $customer->addId($euTIN, $line[10]); + $customer->addId($gerTIN, $line[11]); + + ClientMapper::create($customer); + } } /** diff --git a/Models/ExchangeType.php b/Models/ExchangeType.php index b3e2c4c..2ebc269 100644 --- a/Models/ExchangeType.php +++ b/Models/ExchangeType.php @@ -5,7 +5,7 @@ * * PHP Version 7.4 * - * @package Modules\Exchange + * @package Modules\Exchange\Models * @copyright Dennis Eichhorn * @license OMS License 1.0 * @version 1.0.0 @@ -21,7 +21,7 @@ use phpOMS\Stdlib\Base\Enum; /** * Exchange status enum. * - * @package Modules\Exchange + * @package Modules\Exchange\Models * @license OMS License 1.0 * @link https://orange-management.org * @since 1.0.0 diff --git a/Models/InterfaceManagerMapper.php b/Models/InterfaceManagerMapper.php index 75a169f..7a4aedc 100644 --- a/Models/InterfaceManagerMapper.php +++ b/Models/InterfaceManagerMapper.php @@ -4,7 +4,7 @@ * * PHP Version 7.4 * - * @package Modules\Exchange + * @package Modules\Exchange\Models * @copyright Dennis Eichhorn * @license OMS License 1.0 * @version 1.0.0 @@ -19,7 +19,7 @@ use phpOMS\DataStorage\Database\DataMapperAbstract; /** * Mapper class. * - * @package Modules\Exchange + * @package Modules\Exchange\Models * @license OMS License 1.0 * @link https://orange-management.org * @since 1.0.0 diff --git a/Models/PermissionState.php b/Models/PermissionState.php index d683444..3ef3928 100644 --- a/Models/PermissionState.php +++ b/Models/PermissionState.php @@ -4,7 +4,7 @@ * * PHP Version 7.4 * - * @package Modules\Exchange + * @package Modules\Exchange\Models * @copyright Dennis Eichhorn * @license OMS License 1.0 * @version 1.0.0 @@ -19,7 +19,7 @@ use phpOMS\Stdlib\Base\Enum; /** * Permision state enum. * - * @package Modules\Exchange + * @package Modules\Exchange\Models * @license OMS License 1.0 * @link https://orange-management.org * @since 1.0.0